Javascript 对整数数组进行排序

Javascript 对整数数组进行排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个可变维度,它包含数组中每个元素的最大大小,例如: const dimensions = [10, 6, 4] let boxes = [ [1, 2, 1], [10, 2, 4], [4, 1, 1], [10, 2, 3] ] 我还有一个数组,其中包含的整数数量与维度的大小相当,例如: const dimensions = [10, 6, 4] let boxes = [ [1, 2, 1], [10, 2, 4], [4

我有一个可变维度,它包含数组中每个元素的最大大小,例如:

const dimensions = [10, 6, 4]
let boxes = [
    [1, 2, 1],
    [10, 2, 4],
    [4, 1, 1],
    [10, 2, 3]
]
我还有一个数组,其中包含的整数数量与
维度的大小相当,例如:

const dimensions = [10, 6, 4]
let boxes = [
    [1, 2, 1],
    [10, 2, 4],
    [4, 1, 1],
    [10, 2, 3]
]
对于
框中的每个数组
,没有任何元素会高于
维度中的对应元素

我想找到一种方法对这些数组进行排序,这样排序后的数组
框将是:

[
    [1, 2, 1],
    [4, 1, 1],
    [10, 2, 3],
    [10, 2, 4]
]
如您所见,这不仅仅是按数组的第一个元素排序。这是按第一个元素排序,如果它们相等,则按第二个元素排序,以此类推

对于每个数组数组,我都有一个相关的
dimensions
变量。但是维度可以是任何东西(也可以是任何长度!)(因此,数组的长度当然是相同的)

我正在用Javascript做这件事,但也欢迎使用伪代码


PS-这不是赋值的一部分,我试图抽象掉大部分不必要的内容。

您可以使用对值进行排序,以比较正在排序的每个数组中的值,仅在当前为
0
时更新比较结果(即,到目前为止的值是相等的):

let box=[
[1, 2, 1],
[10, 2, 4],
[4, 1, 1],
[10, 2, 3]
]
排序((a,b)=>a.reduce((c,v,i)=>c?c:v-b[i],0));
控制台日志(框)非常适合@LaundroMat:-)我很高兴能帮上忙。