我正在研究一些对多维数组有很多功能的功能。我想要做的是按第一个值排序,然后按第二个值排序,同时保持第一个值排序。见例:
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;
}
答案 0 :(得分:4)
按第一个值排序,然后按第二个值排序:
data.sort(function(a, b) {
return a[0]-b[0] || a[1]-b[1];
});
这只是两个(standard number)比较,由||
运算符链接,当第一个0
时返回右操作数。
请参阅here以获取处理任意长度数组的通用比较函数,而不仅仅是元组。