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 相关文章推荐
总结一些js自定义的函数
Aug 05 Javascript
javascript实现上传图片前的预览(TX的面试题)
Aug 20 Javascript
过虑特殊字符输入的js代码
Aug 05 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
JS跨域总结
Aug 30 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
Feb 19 Javascript
JQuery.get提交页面不跳转的解决方法
Jan 13 Javascript
jquery实现轮播图效果
Feb 13 Javascript
微信小程序 实例开发总结
Apr 26 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
Vue项目实现换肤功能的一种方案分析
Aug 28 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 定界符格式引起的错误
2011/05/24 PHP
php页面防重复提交方法总结
2013/11/25 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
常用的javascript设计模式
2017/01/11 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
vue源码nextTick使用及原理解析
2019/08/13 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
js实现3D旋转效果
2020/08/18 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
Python程序设计入门(5)类的使用简介
2014/06/16 Python
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
python使用建议与技巧分享(二)
2020/08/17 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
SNIDEL官网:日本VIVI杂志人气少女第一品牌
2020/03/12 全球购物
KTV门卫岗位职责
2014/10/09 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书