JS实现json数组排序操作实例分析


Posted in Javascript onOctober 28, 2019

本文实例讲述了JS实现json数组排序操作。分享给大家供大家参考,具体如下:

有时需要根据json对象的某个属性排序json数组,javascript端有sort这个函数,具体可以参考:http://www.w3school.com.cn/jsref/jsref_sort.asp

我们可以传入一个对比函数,我实现了两个:一个降序排列,一个升序排列

/**
 * json对象数组按照某个属性排序:降序排列
 * @param {Object} propertyName
 */
function compareDesc(propertyName) {
  return function(object1, object2) {
    var value1 = object1[propertyName];
    var value2 = object2[propertyName];
    if(value2 < value1) {
      return -1;
    } else if(value2 > value1) {
      return 1;
    } else {
      return 0;
    }
  }
}
/**
 * json对象数组按照某个属性排序:升序排列
 * @param {Object} propertyName
 */
function compareAsc(propertyName) {
  return function(object1, object2) {
    var value1 = object1[propertyName];
    var value2 = object2[propertyName];
    if(value2 < value1) {
      return 1;
    } else if(value2 > value1) {
      return -1;
    } else {
      return 0;
    }
  }
}

例子:

var students=[{name:"hhhh",age:16},{name:"ggggg",age:17},{name:"dsdsad",age:18}];
students.sort(compareDesc("age"));  //按照年龄降序排列
console.log(students);

运行结果:

JS实现json数组排序操作实例分析

var students=[{name:"hhhh",age:16},{name:"ggggg",age:17},{name:"dsdsad",age:18}];
students.sort(compareAsc("age"));  //按照年龄升序排列
console.log(students);

运行结果:

JS实现json数组排序操作实例分析

Javascript 相关文章推荐
图片自动缩小 点击放大
Jul 07 Javascript
在js文件中写el表达式取不到值的原因及解决方法
Dec 23 Javascript
JavaScript获得url所有参数键值表的方法
Mar 21 Javascript
JavaScript的instanceof运算符学习教程
Jun 08 Javascript
AngularJS的ng-click传参的方法
Jun 19 Javascript
js实现Tab选项卡切换效果
Jul 17 Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
Apr 07 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 Javascript
VUE渲染后端返回含有script标签的html字符串示例
Oct 28 #Javascript
vue实现在v-html的html字符串中绑定事件
Oct 28 #Javascript
vue 实现input表单元素的disabled示例
Oct 28 #Javascript
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 #jQuery
VUE解决 v-html不能触发点击事件的问题
Oct 28 #Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
Oct 28 #Javascript
vue动态禁用控件绑定disable的例子
Oct 28 #Javascript
You might like
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
pandas取出重复数据的方法
2019/07/04 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
班长岗位职责
2013/11/10 职场文书
房屋继承公证书
2014/04/10 职场文书
结婚保证书范文
2014/04/29 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
体育专业求职信
2014/07/16 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
经理岗位职责
2015/02/02 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
团日活动总结格式
2015/05/11 职场文书
小学生教师节广播稿
2015/08/19 职场文书