js sort排序双层数组

js可以使用sort函数进行排序操作,例如可以对[1,3,5,6,7]进行排序

arr.sort((a,b) => a-b);

那么可否对双重数组,并根据双重数组的首元素进行排序呢?答案是可以的,利用sort的回调即可

  • 排序双重数组
    例如对arr = [[2,6],[1,3],[8,10],[9,18]]数组排序,可以这么写:
arr = arr .sort((a,b)=> {
        return a[0] - b[0];
    });

排序结果为 [[1,3],[2,6],[8,10],[9,18]]

也可以用sort()去给json对象数组排序。例如,排序一个json对象数组

var json = [
    {name:"li", Score:"197", first:"100",second:"97"},
    {name:"wang", Score:"197",first:"99", second:"98"},
    {name:"zh", Score:"185", first:"88", second:"97"}];
json.sort(function(a,b){
    var value1 = a.Score,
        value2 = b.Score;
    if(value1 === value2){
        return b.first- a.first;
    }
    return value2 - value1;
});

输出:

0:{name:"li", Score:"197", first:"100",second:"97"}
1:{name:"wang", Score:"197",first:"99", second:"98"}
2:{name:"zh", Score:"185", first:"88", second:"97"}

所以,排序多重,利用sort函数的回调即可解决问题

那么如何对数组中的字母进行排序?

  • 排序字母
s = [a,c,b];
s = s.sort((a,b) => a<b?-1:a>b?1:0);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值