我有兩個二維數組,我想按順序排序並基於字符串長度。我該怎麼做?這是我的代碼:如何使用基於長度的字符串對兩個二維數組進行排序?
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]
我該怎麼辦呢?
雙排序是一個太多,因爲第二個不尊重第一分揀。 –
第二種排序適用於按字母順序排序的數組。儘管我的答案更具可讀性,但您的答案會提供更好的性能! –
不是真的,因爲['Array#sort'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)不穩定,另一種破壞最後一個排序。 –