JS sort方法基于数组对象属性值排序


Posted in Javascript onJuly 10, 2020

sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同.

var arr = [
  {name:'zopp',age:0},
  {name:'gpp',age:18},
  {name:'yjj',age:8}
];

function compare(property){
  return function(a,b){
    var value1 = a[property];
    var value2 = b[property];
    return value1 - value2;
  }
}
console.log(arr.sort(compare('age')))

JS sort方法基于数组对象属性值排序

如何根据参数不同,来确定是升序排列,还是降序排序呢?

/**数组根据数组对象中的某个属性值进行排序的方法 
   * 使用例子: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 相关文章推荐
用JS实现的一个include函数
Jul 21 Javascript
jQuery 各种浏览器下获得日期区别
Dec 22 Javascript
JavaScript 计算当天是本年本月的第几周
Mar 22 Javascript
如何实现移动端浏览器不显示 pc 端的广告
Oct 15 Javascript
AngularJS自动表单验证
Feb 01 Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 Javascript
第一次动手实现bootstrap table分页效果
Sep 22 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
Jan 13 Javascript
Angular4 中常用的指令入门总结
Jun 12 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
Jul 04 Javascript
Vue用mixin合并重复代码的实现
Nov 27 Vue.js
JavaScript this指向相关原理及实例解析
Jul 10 #Javascript
JavaScript indexOf()原理及使用方法详解
Jul 09 #Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 #Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
Jul 09 #Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
Jul 09 #Javascript
jQuery实现B2B网站后台管理系统侧导航
Jul 08 #jQuery
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 #Javascript
You might like
PHP中session变量的销毁
2014/02/27 PHP
PHP基本语法总结
2014/09/06 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
Python队列的定义与使用方法示例
2017/06/24 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
python飞机大战游戏实例讲解
2020/12/04 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
电大自我鉴定范文
2013/10/01 职场文书
毕业生教师求职信
2013/10/20 职场文书
计算机应用专业推荐信
2013/11/13 职场文书
初中生学习的自我评价
2013/11/14 职场文书
日语专业个人的求职信
2013/12/03 职场文书
中学门卫岗位职责
2013/12/26 职场文书
一份创业计划书范文
2014/02/08 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
六一节目主持词
2014/04/01 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书