zoukankan      html  css  js  c++  java
  • 对象数组通过对象的属性进行排序

    最常见的对数组进行排序,可以用sort()方法,按照数组中元素的首字母或者数字大小进行排序

    var arr = [2,5,13,7,4,9,1];

    var arr1 = arr.sort(); console.log(arr); // [1, 13, 2, 4, 5, 7, 9]

    console.log(arr1); // [1, 13, 2, 4, 5, 7, 9]

    sort()方法会改变原来的数组,并且sort方法并不是严格按照数字大小排序的。 

    如果想对数组按照大小进行排序,则需要在sort()方法添加比较函数

    var arr = [2,5,13,7,4,9,1];

    arr.sort(function(a,b){ return a-b; // -1 升序排列 })

    console.log(arr); // [1, 2, 4, 5, 7, 9, 13]

     

    那么可不可以利用sort方法对对象数组按照对象属性进行排序呢?

    答案是可以的 
    像上面对数组按照大小排序,指定比较函数一样,只是此时比较的是对象的属性 
    上代码:对下列对象数组,按照age排序

    var infoObj=[

    {

    name:"张三",

    sex:'female',

    age:30

    },

    {

    name:"李四",

    sex:'male',

    age:20

    },

    {

    name:"王五",

    sex:'female',

    age:40

    } ];

    // 指定排序的比较函数

    function compare(property){

    returnfunction(obj1,obj2){

    var value1 = obj1[property];

    var value2 = obj2[property];

    return value1 - value2; // 升序

    }

    }

    var sortObj = infoObj.sort(compare("age"));

    console.log(sortObj); //

  • 相关阅读:
    MongoDB 备份方法
    Wix制作安装包
    OWIN and Katana
    JavaScript的语法要点 4
    JavaScript的语法要点 3
    Docker配置镜像源(windows)
    Centos 7 安装gdal
    centos下forever安装nodejs服务
    Ngix初识
    arcgis支持mongodb
  • 原文地址:https://www.cnblogs.com/hsdying/p/7886085.html
Copyright © 2011-2022 走看看