js 根据对象数组中的属性进行排序实现代码


Posted in Javascript onSeptember 12, 2019

这篇文章主要介绍了js 根据对象数组中的属性进行排序实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码如下

var arr = [
  {name:'a',age:9},
  {name:'b',age:12},
  {name:'c',age:8}
];
 arr.sort((a,b)=>{
  return a.age - b.age
 });
function compare(property){
  return function(a,b){
    var value1 = a[property];
    var value2 = b[property];
    return value1 - value2;
  }
}
console.log(arr.sort(compare('age')))
* 使用例子:newArray.sort(sortBy('number',false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序
   * @param attr 排序的属性 如number属性
   * @param rev true表示升序排列,false降序排序
   * */
  sortBy: function(attr,rev){
    //第二个参数没有传递 默认升序排列
    if(rev == undefined){
      rev = 1;
    }else{
      rev = (rev) ? 1 : -1;
    }
    
    return function(a,b){
      a = a[attr];
      b = b[attr];
      if(a < b){
        return rev * -1;
      }
      if(a > b){
        return rev * 1;
      }
      return 0;
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery的实现原理的模拟代码 -1 核心部分
Aug 01 Javascript
js函数的延迟加载实现代码
Oct 11 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
jQuery实现跟随鼠标运动图层效果的方法
Feb 02 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
微信小程序 网络API发起请求详解
Nov 09 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
Jun 23 Javascript
原生JS实现的自动轮播图功能详解
Dec 28 Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 Javascript
uniapp 微信小程序 自定义tabBar 导航
Apr 22 Javascript
JavaScript和TypeScript中的void的具体使用
Sep 12 #Javascript
微信小程序页面调用自定义组件内的事件详解
Sep 12 #Javascript
基于JavaScript 实现拖放功能
Sep 12 #Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
Sep 12 #Javascript
layui 对table中的数据进行转义的实例
Sep 12 #Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 #Javascript
小程序如何支持使用 async/await详解
Sep 12 #Javascript
You might like
PHP预定义超全局数组变量小结
2018/08/20 PHP
关于js类的定义
2011/06/28 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
简单的Python的curses库使用教程
2015/04/11 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
使用python实现knn算法
2017/12/20 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
软件工程专业推荐信
2013/10/28 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
2014年工程部工作总结
2014/11/25 职场文书
初中生毕业评语
2014/12/29 职场文书
经理聘任证明
2015/03/02 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
《称赞》教学反思
2016/02/17 职场文书
深入理解go slice结构
2021/09/15 Golang
Python序列化模块JSON与Pickle
2022/06/05 Python