zoukankan      html  css  js  c++  java
  • sort函数实现多条件排序

    js的sort方法,我们一般传入一个回调用于单排序,也就根据某一个条件排序,那么一个场景需要多条件排序(多重排序),我们怎么处理呢?

    如下例子,我们按学生的总分排序,如果总分相等,我们再按照语文成绩排序。
    
    var jsonStudents = [
        { name: "Dawson", totalScore: "197", Chinese: "100", math: "97" },
        { name: "HanMeiMei", totalScore: "196", Chinese: "99", math: "97" },
        { name: "LiLei", totalScore: "185", Chinese: "88", math: "97" },
        { name: "XiaoMing", totalScore: "196", Chinese: "96", math: "100" },
        { name: "Jim", totalScore: "196", Chinese: "98", math: "98" },
        { name: "Joy", totalScore: "198", Chinese: "99", math: "99" }
    ];
    
    jsonStudents.sort(function(a, b) {
        var value1 = a.totalScore,
            value2 = b.totalScore;
        //总分相同 
        if (value1 === value2) {
            // 按语文分数降序排序
            return b.Chinese - a.Chinese;
        }
        // 总分不同,降序排序
        return value2 - value1;
    });
    
    console.log("jsonStudents :", jsonStudents);
    

    关键点在于sort回调如何定义排序规则

  • 相关阅读:
    java基础之分辨final,static, abstract
    HTML DOM
    Zero Copy-转载201604
    Zero Copy
    java 虚拟机
    Spring Junit4
    【转】Java的序列化和反序列化总结
    【转】SQL Server 查询处理中的各个阶段(SQL执行顺序)
    【转】linux sar命令详解
    【转】linux top命令详解
  • 原文地址:https://www.cnblogs.com/sefaultment/p/9879213.html
Copyright © 2011-2022 走看看