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 相关文章推荐
javascript showModalDialog 内跳转页面的问题
Nov 25 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
JS给超链接加确认对话框的方法
Feb 24 Javascript
理解javascript封装
Feb 23 Javascript
JavaScript入门教程之引用类型
May 04 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
Nov 25 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 Javascript
学习node.js 断言的使用详解
Mar 18 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
Oct 09 Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 06 Javascript
JavaScript中MutationObServer监听DOM元素详情
Nov 27 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
PHP4和PHP5共存于一系统
2006/11/17 PHP
php 抽象类的简单应用
2011/09/06 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
Django Rest framework频率原理与限制
2019/07/26 Python
使用pandas读取文件的实现
2019/07/31 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
安全协议书范本
2014/04/21 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
2015教师节通讯稿
2015/07/20 职场文书
Python源码解析之List
2021/05/21 Python
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫