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 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
javascript 闭包疑问
Dec 30 Javascript
jQuery实现加入购物车飞入动画效果
Mar 14 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 Javascript
纯javascript实现自动发送邮件
Oct 21 Javascript
jQuery解决浏览器兼容性问题案例分析
Apr 15 Javascript
jQuery基于事件控制实现点击显示内容下拉效果
Mar 07 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
基于Axios 常用的请求方法别名(详解)
Mar 13 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 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
thinkphp学习笔记之多表查询
2014/07/28 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
javascript常见用法总结
2014/05/22 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
微信小程序开发之Tabbar实例详解
2017/01/09 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
Djang中静态文件配置方法
2015/07/30 Python
win10系统中安装scrapy-1.1
2016/07/03 Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
2017/09/20 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
NFL官方在线商店:NFLShop
2020/07/29 全球购物
体育专业学生自我评价范文
2014/01/17 职场文书
保安岗位职责
2014/02/21 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
企业趣味活动方案
2014/08/21 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python