在 Javascript 中,如果我有一个数组数组,如下所示:
X = [ [1,2,3,4],
[1,1,2,3],
[1,1,3],
[1,4],
[2,1,2],
[2,2]
]
Javascript 对我的数组进行排序,首先比较第一个条目,然后是第二个,依此类推,从而X.sort()
返回以下内容:
[ [1,1,2,3],
[1,1,3],
[1,2,3,4],
[1,4],
[2,1,2],
[2,2]
]
这就是我想要的。问题是用于比较数组中元素的比较运算符是按字典顺序排列的,因此[10,2] < [2,2]
,例如,
[[10,2],[1,1,3],[2,2]].sort() -> [[1,1,3],[10,2],[2,2]]
我需要它对数字进行排序,以便得到一个排序后的数组[[1,1,3],[2,2],[10,2]]
。
我尝试使用 的比较函数function(a,b){return (a-b) }
,该函数可用于对数字数组进行排序,但这无法正确排序我的数组,这是有道理的(我认为),因为[10,2] - [1,1,3]
产量NaN
如何对数字数组的数组进行排序?