這個問題在這里已經有了答案: javascript - 按多個條件排序 - 首先按另一個陣列,然后按里面的另一個屬性 4 個回答 如何按多個欄位對物件陣列進行排序? (32 個回答) 1 小時前關閉。
我有一個陣列:arr = [[3,2],[1,2],[2,1]]我想將它排序為:arr = [[1,2],[3,2],[2,1]]。我正在做的是先排序,subArr[1]然后在兩個元素相等的情況下subArr[1]排序,然后只按它們的subArr[0].
這是我所做的,我認為.sort()兩次呼叫該方法是愚蠢的。
function sortArr(array) {
let arr = array;
arr.sort((a, b) => {
return b[1] - a[1];
});
arr.sort(function (a, b) {
if (a[1] == b[1]) {
return a[0] - b[0];
}
return b[1] - a[1];
});
return arr;
}
uj5u.com熱心網友回復:
你可以做到這一點sort:
const arr = [[3,2],[1,2],[2,1]];
arr.sort((a, b) => b[1] - a[1] || a[0] - b[0]);
console.log(arr);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/362153.html
