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 相关文章推荐
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
May 25 Javascript
一个javascript图片阅览组件
Nov 09 Javascript
IE的fireEvent方法概述及应用
Feb 22 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
Jan 26 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
Sep 12 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
javascript中indexOf技术详解
May 07 Javascript
JS及PHP代码编写八大排序算法
Jul 12 Javascript
ES6学习教程之模板字符串详解
Oct 09 Javascript
详解js 创建对象的几种方法
Mar 08 Javascript
百度小程序自定义通用toast组件
Jul 17 Javascript
vue引入Excel表格插件的方法
Apr 28 Vue.js
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
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
Discuz不使用插件实现简单的打赏功能
2019/03/21 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
详解Python pygame安装过程笔记
2017/06/05 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
2019/03/27 Python
Python实现直播推流效果
2019/11/26 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
大专自我鉴定范文
2013/10/01 职场文书
工作会议欢迎词
2014/01/16 职场文书
秋季运动会稿件
2014/01/30 职场文书
大学毕业自我评价
2014/02/02 职场文书
党员个人对照检查材料思想汇报
2014/09/16 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
2015年护士节活动总结
2015/02/10 职场文书
陪护人员误工证明
2015/06/24 职场文书