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 相关文章推荐
jquery 获取json数据实现代码
Apr 27 Javascript
jQuery总体架构的理解分析
Mar 07 Javascript
非常有用的40款jQuery 插件推荐(系列二)
Dec 25 Javascript
js、css、img等浏览器缓存问题的2种解决方案
Oct 23 Javascript
JS使用getComputedStyle()方法获取CSS属性值
Apr 23 Javascript
jQuery获取节点和子节点文本的方法
Jul 22 Javascript
zepto.js中tap事件阻止冒泡的实现方法
Feb 12 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
js 获取html5的data属性实现方法
Jul 28 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 Javascript
vue中render函数的使用详解
Oct 12 Javascript
js实现简单选项卡制作
Aug 05 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
第二节--PHP5 的对象模型
2006/11/16 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
Nodejs极简入门教程(一):模块机制
2014/10/25 NodeJs
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
JS实现放大镜效果
2020/09/21 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
Python中删除文件的程序代码
2011/03/13 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
python实现机器学习之元线性回归
2018/09/06 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
就业协议书样本
2014/08/20 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
优秀班主任申报材料
2014/12/16 职场文书
贫困生助学金感谢信
2015/01/21 职场文书
应聘教师自荐信
2015/03/26 职场文书
假如给我三天光明读书笔记
2015/06/26 职场文书
大学军训通讯稿
2015/07/18 职场文书
法制工作总结2015
2015/07/23 职场文书
思品教学工作总结
2015/08/10 职场文书
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers