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 相关文章推荐
javascript数组组合成字符串的脚本
Jan 06 Javascript
JavaScript 异步调用框架 (Part 2 - 用例设计)
Aug 03 Javascript
JQuery+Ajax无刷新分页的实例代码
Feb 08 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
May 19 Javascript
JavaScript时间转换处理函数
Apr 14 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
Aug 20 Javascript
基于jQuery实现多层次的手风琴效果附源码
Sep 21 Javascript
JavaScript+CSS无限极分类效果完整实现方法
Dec 22 Javascript
JavaScript动态生成二维码图片
Apr 20 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
Oct 29 Javascript
仿iframe效果Aajx文件上传实例
Nov 18 Javascript
js随机生成一个验证码
Jun 01 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python 统计代码行数简单实例
2017/05/04 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
python关于倒排列的知识点总结
2020/10/13 Python
详解python的变量缓存机制
2021/01/24 Python
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
教育学专业实习生的自我鉴定
2013/11/26 职场文书
自我评价怎么写正确呢?
2013/12/02 职场文书
财务会计专业求职信范文
2013/12/31 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
助学贷款贫困证明
2014/09/23 职场文书
实施意见格式范本
2015/06/05 职场文书
山楂树之恋观后感
2015/06/11 职场文书