Javascript 多元素嵌套列表的自定义排序

Javascript 多元素嵌套列表的自定义排序,javascript,Javascript,我想使用每个子数组中的第一个元素对以下数组进行排序: lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]] 我想对该列表进行排序,使其如下所示: srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]]; 如何在纯javascript中实现这一点?(没有外部libs、下划线等?)Array.sort方法将比较函数作为可选参数 您可以这样指定一个: srt_lst = [[1, 2], [2,2], [4, 9],

我想使用每个子数组中的第一个元素对以下数组进行排序:

lst = [[1, 2], [5, 4], [4, 9], [9, 1], [2,2]]
我想对该列表进行排序,使其如下所示:

srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];

如何在纯javascript中实现这一点?(没有外部libs、下划线等?)

Array.sort方法将比较函数作为可选参数

您可以这样指定一个:

srt_lst = [[1, 2], [2,2], [4, 9], [5, 4], [9, 1]];
函数比较(a,b){…}

因此,使用匿名函数可以这样做:

lst.sort(function(a,b) {
    if (a[0] < b[0]) return -1;
    if (b[0] < a[0]) return 1;

    return 0;
});
lst.sort(函数(a,b){
如果(a[0]
注意:尽管sort返回已排序的数组,但它也会作用于正在运行该方法的数组,因此,如果您需要保持原始
lst
数组的原始顺序,这一点值得记住,并且在执行排序操作之前,您可能必须进行克隆