为了账号安全,请及时绑定邮箱和手机立即绑定

如何按列值对二维数组进行排序?

如何按列值对二维数组进行排序?

如何按列值对二维数组进行排序?任何人都可以帮助我在JavaScript中对二维数组进行排序吗?它将具有以下格式的数据:[12, AAA][58, BBB][28, CCC][18, DDD]排序时应该如下所示:[12, AAA][18, DDD][28, CCC][58, BBB]基本上,按第一列排序。
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

这很简单:

var a = [[12, 'AAA'], [58, 'BBB'], [28, 'CCC'],[18, 'DDD']];a.sort(sortFunction);function sortFunction(a, b) {
    if (a[0] === b[0]) {
        return 0;
    }
    else {
        return (a[0] < b[0]) ? -1 : 1;
    }}

我邀请您阅读文档

如果要按第二列排序,可以执行以下操作:

a.sort(compareSecondColumn);function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] < b[1]) ? -1 : 1;
    }}


查看完整回答
反对 回复 2019-08-12
?
千巷猫影

TA贡献1829条经验 获得超7个赞

最好的方法是使用以下内容,因为第一列中可能存在重复值。

var arr = [[12, 'AAA'], [12, 'BBB'], [12, 'CCC'],[28, 'DDD'], [18, 'CCC'],[12, 'DDD'],[18, 'CCC'],[28, 'DDD'],[28, 'DDD'],[58, 'BBB'],[68, 'BBB'],[78, 'BBB']];arr.sort(function(a,b) {
    return a[0]-b[0]});


查看完整回答
反对 回复 2019-08-12
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

试试这个


//WITH FIRST COLUMN

arr = arr.sort(function(a,b) {

    return a[0] - b[0];

});



//WITH SECOND COLUMN

arr = arr.sort(function(a,b) {

    return a[1] - b[1];

});

注意:原始答案使用大于(>)而不是减号( - ),这是注释所指的不正确。


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 1057 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信