排序多維陣列

給出以下陣列

var array = [
  ["key1", 10],
  ["key2", 3],
  ["key3", 40],
  ["key4", 20]
];

你可以按數字對它進行排序(第二個索引)

array.sort(function(a, b) {
  return a[1] - b[1];
})

Version >= 6

array.sort((a,b) => a[1] - b[1]);

這將輸出

[
  ["key2", 3],
  ["key1", 10],
  ["key4", 20],
  ["key3", 40]
]

要知道,那種方法在陣列上執行到位。它改變了陣列。大多數其他陣列方法返回一個新陣列,保留原始陣列。如果你使用函數語言程式設計風格並期望函式沒有副作用,這一點尤為重要。