gpt4 book ai didi

javascript - 降序排列字母数字字符串

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:10 25 4
gpt4 key购买 nike

我需要按如下方式对字母数字项数组进行排序。来自:

2 xxx
20 axxx
38 xxxx
20 bx
8540 xxxxxx

到:

8540 xxxxx
38 xxxx
20 axxx
20 bx
2 xxx

因此,先按数字降序排列,然后按字母顺序升序排列。数字始终与字母字符(表示为“xxxx”)由一个空格分隔,但数字的长度是可变的。

我怀疑我需要在 sort() 函数中使用一些正则表达式并按空格拆分数字然后对其进行排序,但我不知道如何进行字母排序。任何代码示例?非常感谢!

最佳答案

不需要RegEx,因为Array.sort()接受自定义函数:

http://jsfiddle.net/EFGK9/

var arr=["2 xxx","20 axxx","38 xxxx","20 bx","8540 xxxxxx"];
arr.sort(function(a,b){
a=a.split(" ");
b=b.split(" ");
var an=parseInt(a[0],10);
var bn=parseInt(b[0],10);
return an<bn?1:(an>bn?-1:(a[1]<b[1]?-1:(a[1]>b[1]?1:0)));
});
console.log(arr);

关于javascript - 降序排列字母数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17016427/

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