Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对多个数字数组进行排序_Javascript_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

Javascript 对多个数字数组进行排序

Javascript 对多个数字数组进行排序,javascript,arrays,sorting,multidimensional-array,Javascript,Arrays,Sorting,Multidimensional Array,我有一个包含多个数字数组的数组,我只想对它们进行排序 例如: my_parent_array = [ [2, 6, 31], [2, 3, 25], [2, 6, 17, 2] ]; 它们都是正整数,每个子数组可以有许多值 我需要排序/排序我的父数组才能排序 在上面的例子中,结果应该是这样的: my_parent_array = [ [2, 3, 25], [2, 6,

我有一个包含多个数字数组的数组,我只想对它们进行排序

例如:

my_parent_array = [ [2, 6, 31],
                    [2, 3, 25],
                    [2, 6, 17, 2] ];  
它们都是正整数,每个子数组可以有许多值

我需要排序/排序
我的父数组
才能排序

在上面的例子中,结果应该是这样的:

my_parent_array = [ [2, 3, 25],
                    [2, 6, 17, 2],
                    [2, 6, 31] ];  
我该怎么做

谢谢

编辑

此数组仅包含数字(不包含字符串或字母)。
我需要它先按第一个值排序子数组,然后按第二个值排序,以此类推。
这类似于按字母顺序排序,但这是使用数字数组而不是字母字符串

我假设
.sort()
不会起作用,因为我正在处理子数组。
正如@amadan指出的,简单的
.sort()
不起作用,因为如果我使用标准的
.sort()
,默认情况下,
10
会出现在
2
之前

那么,是否有一个排序修饰符来实现这一点,或者我是否需要制作自己的排序算法


谢谢。

为了避免我在评论中发布的问题(默认情况下按字典排序),请介绍您自己的comparator函数:

my_parent_array.sort(function(a, b) {
  var len = Math.min(a.length, b.length);
  for (var i = 0; i < len; i++) {
    if (a[i] < b[i]) return -1;
    if (a[i] > b[i]) return 1;
  }
  return a.length - b.length;
});
my\u parent\u array.sort(函数(a,b){
var len=数学最小值(a.长度,b.长度);
对于(变量i=0;ib[i])返回1;
}
返回a.length-b.length;
});
编辑:我一直在想角落里的案子…

编辑:我认为现在应该解决这些棘手的问题。

,你尝试过什么?实际上,这和
我的父母\u array.sort()一样简单。
->@adeneo:不,在这种特殊情况下是这样,但通常不是这样。试试这个:
a=[[2]、[1]、[10];a、 sort()
-它给出了
[[1]、[10]、[2]]
,因为数字是按字典进行比较的。OP的例子并不重要。可能重复@Mathemats:不是一般的解决方案,因为它只对第一个元素进行排序。什么是“角落案例”?失败的例子;希望没有保留,但是编辑历史将显示大量重写和调试迭代。当我最终确定最终版本时,我可能应该编辑掉这句话,但我忘了(现在有评论提到这句话,我可能不应该)。