gpt4 book ai didi

Javascript按带分隔符的字符串中的字符串排序

转载 作者:行者123 更新时间:2023-11-30 05:54:22 24 4
gpt4 key购买 nike

我有这样一个字符串:

var allString = "|AQW12|2|34|33|12|<br>|AQW11|2|34|33|12|<br>|AQW09|2|34|33|12|<br>";

基本上这是某种表格,其中的列名将由 | 分隔和 <br>分隔行。

我的问题是您将如何按第 2 列(即 AQW12、AQW11 等)对 allString 进行排序。

谢谢

最佳答案

快速解决方案,请原谅错误的变量名:

var allString = "|AQW12|2|34|33|12|<br>|AQW11|2|34|33|12|<br>|AQW09|2|34|33|12|<br>";

var l1 = allString.split("<br>");
var l2 = l1.map( function(elem) { return elem.split("|"); } )
var l3 = l2.sort( function(a,b) { return a[1].localeCompare(b[1]); } )
var l4 = l3.map( function(elem) { return elem.join("|"); } );
var output = l4.join("<br>");
console.log(allString);
console.log(output);

输出:

|AQW12|2|34|33|12|<br>|AQW11|2|34|33|12|<br>|AQW09|2|34|33|12|<br>
|AQW09|2|34|33|12|<br>|AQW11|2|34|33|12|<br>|AQW12|2|34|33|12|<br>

变量 l3 包含数组形式的数据:

[ [ 'AQW09', '2', '34', '33', '12' ],
[ 'AQW11', '2', '34', '33', '12' ],
[ 'AQW12', '2', '34', '33', '12' ] ]

关于 localCompare 的注释,请参阅 https://stackoverflow.com/a/2167619/1689451

当然,你也可以使用方法链,如果你喜欢炫耀:)

var output = allString.split("<br>")
.map( function(elem) { return elem.split("|"); } )
.sort( function(a,b) { return a[1].localeCompare(b[1]); } )
.map( function(elem) { return elem.join("|"); } )
.join("<br>");

关于Javascript按带分隔符的字符串中的字符串排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com