Javascript:json数据根据某一个字段进行排序
方法
/** 根据某个字段实现对json数组的排序* @param array 要排序的json数组对象* @param field 排序字段(此参数必须为字符串)* @param reverse 是否倒序(默认为false)* @return array 返回排序后的json数组
*/
function jsonSort(array, field, reverse) {// 数组长度小于2 或 没有指定排序字段 或 不是json格式数据if (array.length < 2 || !field || typeof array[0] !== "object") return array;// 数字类型排序if (typeof array[0][field] === "number") {array.sort(function (x, y) { return x[field] - y[field] });}// 字符串类型排序if (typeof array[0][field] === "string") {array.sort(function (x, y) { return x[field].localeCompare(y[field]) });}// 判断是否需要倒序if (reverse) {array.reverse();}return array;
}
知识点
localeCompare()
定义和用法
用本地特定的顺序来比较两个字符串。语法
stringObject.localeCompare(target)
参数
参数 | 描述 |
---|---|
target | 要以本地特定的顺序与 stringObject 进行比较的字符串。 |
返回值
说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。说明
把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。localeCompare() 方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript 标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。
sort()
定义和用法
sort() 方法用于对数组的元素进行排序。语法
arrayObject.sort(sortby)
参数
参数 | 描述 |
---|---|
sortby | 可选。规定排序顺序。必须是函数。 |
返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
reverse()
定义和用法
reverse() 方法用于颠倒数组中元素的顺序。语法
arrayObject.reverse()
提示和注释
注释:该方法会改变原来的数组,而不会创建新的数组。
实例
初始数据
排序后
Javascript:json数据根据某一个字段进行排序相关推荐
- java中list里面存放map,根据map中的某一个字段进行排序
Java中list里面存放map,根据map中的某一个字段进行排序 例如: [java] view plaincopy package com; import java.util.ArrayList; ...
- js判断json有没有某值_JS中判断JSON数据是否存在某字段的方法 JavaScript中判断json中是否有某个字段...
方式一 !("key" in obj) 方式二 obj.hasOwnProperty("key") //obj为json对象. 实例: var jsonwor ...
- JavaScript——JSON数据和解析
1.JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式.它基于 ECMAScript(European Computer Manufacture ...
- Gson解析JSON数据中动态未知字段key的方法
转载自:https://blog.csdn.net/jdsjlzx/article/details/76785239 有时在解析json数据中的字段key是动态可变的时候,由于Gson是使用静态注解的 ...
- JSON数据解析生成一个每行10列,行数不固定的表格
JSON数据 {"data":["金背大砍刀", "门扇大刀", "齐凤朝阳刀", "象鼻古月刀", ...
- mysql存储过程更新数据后返回一个字段_史上最全存储引擎、索引使用及SQL优化的实践...
整个MySQL Server由以下组成 : Connection Pool :连接池组件 Management Services & Utilities :管理服务和工具组件 SQL Inte ...
- 解决后台json数据返回的字段需要替换的问题
有时候后台json数据返回的字段含有"id",也有可能是有时候为了减少代码的冗余,两页面之间只是数据模型个别属性的区别,所以这时候最好是用到模型属性的替换,用新的属性替换返回的js ...
- 如何解析json字符串及返回json数据到前端
前言:最近需要实现的任务是:写若干个接口,并且接口中的请求数据是json格式,然后按照请求参数读取前端提前整理好的json数据,并且将json数据返回到服务器端. 主要的工具:Gson 2.8.2 ...
- 修改软件服务器json返回数据格式,AngularJS处理服务器端返回的JSON数据的格式问题...
用ng的$http服务发起ajax请求,php返回的JSON数据格式要正确! 一开始我的php页面是这样返回数据的: if($result){ $oid = mysqli_insert_id($con ...
- fullcalendar php,日历插件fullcalendar+php的使用教程 — 读取json数据
根据FullCalendar日历插件说明文档中的介绍,日历主体事件数据的来源有三,一是直接以javascript数组的形式显示日历事件,二是获取JSON数据形式显示日历事件,三是函数回调的形式显示日历 ...
最新文章
- Netflix的高可用架构建议
- 禁用windows更新完成后的重启提示
- 成都python培训比较好的机构-成都Python培训班哪个好,怎样才能不走弯路学习
- 计算机二进制加减符号,(带符号的二进制数的表示方法及加减法运算).ppt
- 云南省2021高考成绩排名查询,2020年云南高考成绩位次排名及一分一段表查询
- Java程序员转Android开发必读经验
- WINHEX的比较、同步功能加上NTFS对稀疏文件的支持
- 再深入 HTTP Referer【转】
- k8s-自动横向伸缩pod 根据CPU使用率,QPS访问数监控指标
- Java制作一个盒子程序_编写一个简单的Java程序,模拟计算器的功能。
- 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】04、统一处理异常...
- hdu 1561 The more, The Better (依赖背包 树形dp)
- form表单file,select选择后自动提交
- 微信开发者工具如何使用SCSS和配置wxml文件高亮及格式化
- CSS动画入门:一分钟实现球体上下跳动动画效果
- inux命令大全完整版
- codevs 切糕 网络流
- IntellijIdea2018 Liscense server激活码
- elasticsearch索引、文档、映射等概念
- K-Means聚类及调用sklearn库代码实现
热门文章
- 42.mysqldump
- 1.UNIX 环境高级编程--UNIX基础知识
- java中使用switch case报错case expressions must be constant expres
- [LeetCode] 47. Permutations II_Medium tag: DFS, backtracking
- JavaScript DOM(一)
- NIO Channel Scatter/Gather 管道Pipe类
- 开源一个适用iOS的数据库表结构更新机制的代码
- 冲刺周期一--站立会议05
- 【FIR.im赞助】jQuery编程挑战#012:生成菜单添加和删除动画效果
- Go开源项目 - gorp使用方法