网络编程
位置:首页>> 网络编程>> JavaScript>> JS实现json数组排序操作实例分析

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

作者:PolarisHuster  发布时间:2024-04-18 09:44:25 

标签:JS,json数组排序

本文实例讲述了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程序设计有所帮助。

来源:https://blog.csdn.net/john1337/article/details/54910508

0
投稿

猜你喜欢

  • 数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行、企业、政府等部门最为重要的计算机应用
  • 在进行特征工程、划分数据集的工作中,drop()函数都能派上用场。它可以轻松剔除数据、操作列和操作行等。drop()详细的语法如下:删除行是
  • 如何通过表单创建一个Word?举个例子吧,我们先创建一个表单文件docform.htm,再用ASP程序(doccreate.asp)来处理表
  • 最近要做一个图像生成的课题,在网上找了一个混合的数据集。这个数据集中一共有360个文件夹,然后文件夹中有6-9张不等的照片,我的目标就是编写
  • 本文研究的主要是PyQt5主窗口动态加载Widget的代码示例,具体如下。我们通过Qt Designer设计两个窗口,命名为主窗口(Main
  • 1. 面向对象编程 OOP ( Object Oriented Programming) 即面向对象编程。面向对象编程是一种&nb
  • 我们一般采用photoshop等做图工具制作电视扫描线效果图片:首先做一个黑白相间的图案,然后用这个图案进行填充,再调整图层的模式或者透明度
  • 代码如下所示:scole = input("input your scole:")if scole>90: &nb
  • xhtml+css页面制作过程中问题的解决方案,说是解决方案应该有点过了,充其量只不过是给刚刚开始学标准页面制作的朋友们的一些小建议,如果讲
  • 前面也讲过一次phar文件上传的东西,但是那都是过滤比较低,仅仅过滤了后缀。知道今天看到了一篇好的文章如果过滤了phar这个伪造协议的话,那
  • 让你的读者能够方便地收藏你的文章到社会化书签(网摘)网站,如 新浪,google,yahoo,Del.icio.us, 365key等添加到
  • 贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,
  • 如下所示:#!/usr/bin/env python# -*- coding:utf-8 -*-import datetimetime_de
  • 最近一直在更新Java新特性和IDEA Tips两个专栏,其他方向内容的动态关注少了。昨天天晚上刷推的时候,瞄到了这个神奇的东西,觉得挺co
  • 前言:python提供了诸多的魔法方法,其中__setattr__()方法主要用于类实例进行属性赋值,其定义在Object类官方提供的说明如
  • 异常处理简介在我们写程序代码的时候,往往会因一个小问题让我们整个程序直接挂掉。异常处理对我们测试有什么好处,相信做过自动化的同学都知道我们的
  • 作为程序员,我们经常需要对时间进行处理。在 Go 中,标准库 time 提供了对应的能力。本文将介绍 time 库中一些重要的函数和方法,希
  • 因DWS内核目前支持的线程数很少,个人门户首页打开后,如果并发请求加载的模块数过多,很容易导致DWS崩溃,故而给之前写的AJAX类加了个顺序
  • 经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不曾刻意去记忆它们(我本人是不愿意去记这东东),所以常常在用到的时候又去查书本,
  • MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。点击进入:下载地址1.下面是msi的下载和安装的步骤点击进去之后根据自己
手机版 网络编程 asp之家 www.aspxhome.com