【发布时间】:2014-06-06 08:18:58
【问题描述】:
我正在研究一些对多维数组非常有用的功能。我想做的是按第一个值排序,然后按第二个值排序,同时保持第一个值排序。见例子:
arrayToSort = [[1,5],[1,3],[1,2],[1,6],[2,6],[1,9],[1,11]];
I would like to sort this so it returns
[[1,2],[1,3],[1,5],[1,6],[1,9],[1,11],[2,6]];
我创建了*一个函数,使用下面的函数按第一个值对数组进行排序,但我不确定我如何能实现上述目标。
function sortOne(cards){
arr = cards.sort(function(a,b) {
return a[0] > b[0];
});
return arr;
}
【问题讨论】:
-
请注意,您当前的比较函数非常不一致,它永远不会返回负值。
-
@Bergi 我的数组永远不会包含负值,所以这很好。
-
@GlenRobson:不,这与价值观无关。如果
a小于b,则比较必须返回负值(-1)。检查the docs! -
@Bergi 我没有编写此代码,您可能希望与编写此代码的人一起讨论:stackoverflow.com/a/16096900/1531541
-
@GlenRobson 在您写的问题中“我已经创建了一个对数组进行排序的函数”,并且一旦出现缺陷,您就可以“归功于”您的“来源”。 TT
标签: javascript arrays sorting multidimensional-array