排序多维数组

给出以下数组

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]
]

要知道,那种方法在阵列上运行到位。它改变了数组。大多数其他数组方法返回一个新数组,保留原始数组。如果你使用函数式编程风格并期望函数没有副作用,这一点尤为重要。