js中按照对象的某一个属性进行排序

在js中排序我们通常使用sort()方法,默认sort()方法排序是按照字符的顺序进行排序,如果需要按照数字进行排序我们需要进行如下处理:

sort(function(a,b){return a - b;})

这样我们就可以对数组中的数字进行按照数字的顺序进行排序,如果我们需要对一个对象数组按照对象中的某一项进行排序需要怎么做呢,我们可以把需要排序的属性出入如上参数中即可;

  var arr = [];   //一个存储对象的数组   两个属性  分别为key  value

//排序函数
  function compare(str) {
    return function(obj1, obj2) {
        var value1 = obj1[str];
        var value2 = obj2[str]
        if (value1 < value2) {
            return 1;
        } else if (value1 > value2) {
            return -1;
        } else {
            return 0;
        }
    }
}

arr.sort(compare("key"));

这样 我们就可以按照对象中的key属性进行排序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,187评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 你在为父母而活?为伴侣而活?为孩子而活吗? 如果是,请你停下脚步,想想按照现在的模式,你的未来是怎...
    子耳子耳阅读 175评论 0 1
  • 今天思考如下几个命题: 1.最近全民皆知的微信新iOS版取消了 下拉拍摄小视频 的交互 2.京东手机客户端取消了「...
    geeknow阅读 409评论 0 1