• 排序问题


     

    function compare(name, minor) {

            return function (o, p) {

                var a, b;

                if (o && p && typeof o === 'object' && typeof p === 'object') {

                    a = o[name];

                    b = p[name];

                    if (a === b) {

                        return typeof minor === 'function' ? minor(o, p) : 0;

                    }

                    if (typeof a === typeof b) {

                        return a < b ? -1 : 1;

                    }

                    return typeof a < typeof b ? -1 : 1;

                } else {

                    alert("error");

                }

            }

        }

     

     

     

    使用方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    //测试数据
    data: [{
            name: '李寻欢',
            age: 32,
            rank: 1
        },
        {
            name: '谢晓峰',
            age: 28,
            rank: 4
        },
        {
            name: '潇十一郎',
            age: 27,
            rank: 5
        },
        {
            name: '楚留香',
            age: 29,
            rank: 3
        },
        {
            name: '傅红雪',
            age: 35,
            rank: 2
        }
    ]
    //先根据rank排序,再根据age排序,最后根据name排序
       data.sort(compare('rank', compare('age', compare('name'))));

    原文地址:https://www.cnblogs.com/zuochengsi-9/p/8492897.html

  • 相关阅读:
    C语言程序设计 第二章 数据类型
    C语言程序设计 认识函数
    趣味c语言编程100例(三)
    如何使用 Eset Nod32通行证批量获取精灵
    C语言程序设计 使用库函数参考手册
    C语言程序设计 概述
    C语言程序设计 VC6调试程序(视频)
    趣味c语言编程100例(四)
    java WebService 异常
    数据库战略高度解析(2) 数据库驱动程序
  • 原文地址:https://www.cnblogs.com/xiaoxingchao/p/9555228.html
Copyright © 2020-2023  润新知