-1
的自定義排序,我想使用的第一個元素的每個子陣列中的以下數組排序:多元素嵌套列表
lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]
我想對此列表進行排序,使它看起來像這樣:
srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];
我該如何在純javascript中做到這一點? (無外部庫,下劃線等?)
的自定義排序,我想使用的第一個元素的每個子陣列中的以下數組排序:多元素嵌套列表
lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]
我想對此列表進行排序,使它看起來像這樣:
srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];
我該如何在純javascript中做到這一點? (無外部庫,下劃線等?)
的Array.sort方法需要一個比較函數作爲可選參數,
您可以指定一個這樣的:
function compare(a, b) { .... }
所以使用匿名函數,你可以做這樣的:
lst.sort(function(a,b) {
if (a[0] < b[0]) return -1;
if (b[0] < a[0]) return 1;
return 0;
});
注意:雖然排序返回數組排序,它也作用於一個如果你需要保持原有的lst
數組的原始順序,這是值得注意的,你可能需要在執行排序操作之前先進行克隆。