Javascript:在特定的数组结构上使用array.sort()

时间:2014-11-07 02:07:38

标签: javascript arrays sorting

对于任何现有索引 i

,我有一个这样的数组结构
myArray[i] = [anIndex, aValue]

例如,其内容可以如下:

myArray[0] = [2, 35]
myArray[1] = [3, 57]
myArray[2] = [5, 12]
myArray[3] = [6, 42]

我想在保持相同结构的同时按升序对此数组进行排序,并使用 aValue 作为排序参数。在上面的例子中,我会得到这个结果,对于生成的排序数组的每个索引:

  • 索引0:[5,12]
  • 索引1:[2,35]
  • 索引2:[6,42]
  • 指数2:[3,57]

我真的不明白如何使用array.sort()实现这一点 - 或者甚至可能。感谢

1 个答案:

答案 0 :(得分:2)

像这样,使用Array.prototype.sort()compareFunction



var myArray = [];
myArray[0] = [2, 35];
myArray[1] = [3, 57];
myArray[2] = [5, 12];
myArray[3] = [6, 42];

myArray = myArray.sort(function(x, y) {
  return x[1] - y[1];
});

console.log(myArray);