gpt4 book ai didi

javascript - 如何根据长度对带字符串的二维数组进行排序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:11:21 25 4
gpt4 key购买 nike

我有两个维数组,我想按顺序并根据字符串长度进行排序。我该怎么做?这是我的代码:

arr = [['ab',0],['ax',0],['ac',0],['bsd',0],['ad',0],['asd',0],['bd',0],['ay',0]];
function sortByLen(a,b){
return (a[0] < b[0]) ? -1 : 1;
}
arr.sort(sortByLen);
console.log(arr);

我希望它变成这个顺序

["ab", 0]
["ac", 0]
["ad", 0]
["ax", 0]
["ay", 0]
["bd", 0]
["asd", 0]
["bsd", 0]

我该怎么做?

最佳答案

您可以使用带有回调的单一排序,该回调尊重内部数组第一项的长度并使用长度差。如果长度相等取String#localeCompare用于按字母排序。

var array = [['ab', 0], ['ax', 0], ['ac', 0], ['bsd', 0], ['ad', 0], ['asd', 0], ['bd', 0], ['ay', 0]];

array.sort(function (a, b) {
return a[0].length - b[0].length || a[0].localeCompare(b[0]);
});

console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 如何根据长度对带字符串的二维数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107960/

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