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 原型继承
Dec 26 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
js+html5实现canvas绘制圆形图案的方法
Jun 05 Javascript
VueJs与ReactJS和AngularJS的异同点
Dec 12 Javascript
JavaScript轻松创建级联函数的方法示例
Feb 10 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
JSONP基础知识详解
Mar 19 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
vuejs router history 配置到iis的方法
Sep 20 Javascript
js实现无限瀑布流实例方法
Sep 16 Javascript
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
uniapp引入支付宝原生扫码插件步骤详解
Jul 23 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学习笔记之三 数据库基本操作
2011/01/17 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
13个PHP函数超实用
2015/10/21 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
微信小程序实现选项卡效果
2018/11/06 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
python读写csv文件的方法
2019/08/13 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
拾金不昧表扬信范文
2014/01/11 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
死者家属慰问信
2015/03/24 职场文书
2015年宣传思想工作总结
2015/05/22 职场文书
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android