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 相关文章推荐
ext checkboxgroup 回填数据解决
Aug 21 Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
Jan 05 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
Dec 29 Javascript
Bootstrap中CSS的使用方法
Feb 17 Javascript
jQuery操作cookie
Aug 08 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
Feb 21 Javascript
Vue.js实现实例搜索应用功能详细代码
Aug 24 Javascript
一个因@click.stop引发的bug的解决
Jan 08 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
layui实现给某一列加点击事件
Oct 26 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下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
php使用cookie保存登录用户名的方法
2015/01/26 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
php中数组最简单的使用方法
2020/12/27 PHP
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
BootStrap Typeahead自动补全插件实例代码
2016/08/10 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
汽车机修工岗位职责
2014/03/06 职场文书
入党自荐书范文
2014/03/09 职场文书
应急管理培训方案
2014/06/12 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
毕业生评语大全
2015/01/04 职场文书
考研英语复习计划
2015/01/19 职场文书
初中语文教学反思范文
2016/03/03 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL