【发布时间】:2015-03-30 01:35:54
【问题描述】:
我有一个包含多个数字数组的数组,我想简单地对它们进行排序。
例如:
my_parent_array = [ [2, 6, 31],
[2, 3, 25],
[2, 6, 17, 2] ];
它们都是正整数,每个子数组可以有很多值。
我需要对my_parent_array 进行排序/排序才能按顺序排列。
所以在上面的例子中,结果应该是这样的:
my_parent_array = [ [2, 3, 25],
[2, 6, 17, 2],
[2, 6, 31] ];
我该怎么做?
谢谢。
编辑
此数组仅包含数字(不包含字符串或字母)。
我需要它首先按第一个值排序子数组,然后是第二个,等等。
它类似于按字母顺序排序,但这是数字数组而不是字母字符串。
我认为.sort() 不会成功,因为我正在处理子数组。
正如@amadan 指出的那样,一个简单的.sort() 是行不通的,因为如果我使用标准的.sort(),默认情况下10 会出现在2 之前。
那么是否有排序修饰符来执行此操作,或者我需要制作自己的排序算法?
谢谢。
【问题讨论】:
-
其实就像
my_parent_array.sort()一样简单 -> jsfiddle.net/6vg5b6ky -
@adeneo:不,在这种特殊情况下是这样,但通常不会。试试这个:
a = [[2], [1], [10]]; a.sort()- 它给出[[1], [10], [2]],因为数字是按字典顺序比较的。 OP 的示例只是没有重要的情况。 -
@Mathemats:不是一般的解决方案,因为它只对第一个元素进行排序。
标签: javascript arrays sorting multidimensional-array