JavaScript对JSON数组简单排序操作示例
本文实例讲述了javascript对json数组简单排序操作。分享给大家供大家参考,具体如下:
我们经常回使用到数据格式
var arr=[{num:1},{num:3},{num:2}]
如何根据数组里面的json数据的某个key进行排序
javascript有一个sort()
方法,直接通过 arr.sort()进行排序,默认只对数组的值进行排序,然而以上的数组的值却是个json格式的。
我们在看看sort
方法的定义:
定义和用法
sort()
方法用于对数组的元素进行排序。
语法
arrayobject.sort(sortby)
参数 | 描述 |
sortby | 可选。规定排序顺序。必须是函数。 |
返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
所以重点在于sortby这个参数的规则。根据以上的说明我们可以创建一个规则函数
var arr=[{num:1},{num:3},{num:2}] function newsort(x,y) { return x.num-y.num; } console.log(arr.sort(newsort));//完成排序,如果json里面的不是数字,则需要在newsort里面做一下处理 //比如:如果num的值是_1而不是数字1 则 return x.state.substr(1,1)-y.state.substr(1,1);
这里使用在线html/css/javascript代码运行工具:http://tools.jb51.net/code/htmljsrun测试上述代码,可得到如下运行结果:
ps:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线json代码检验、检验、美化、格式化工具:
json在线格式化工具:
在线xml/json互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
在线json压缩/转义工具:
更多关于javascript相关内容可查看本站专题:《javascript中json操作技巧总结》、《javascript查找算法技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。
上一篇: 浅析PCMCIA卡常识的方方面面
下一篇: php+js实现裁剪任意形状图片
推荐阅读
-
JavaScript对JSON数组简单排序操作示例
-
JS简单数组排序操作示例【sort方法】
-
JS实现json对象数组按对象属性排序操作示例
-
JavaScript基于对象方法实现数组去重及排序操作示例
-
javascript 表格内容排序 简单操作示例代码_javascript技巧
-
JS实现json对象数组按对象属性排序操作示例
-
javascript 表格内容排序 简单操作示例代码_javascript技巧
-
JavaScript如何对JSON数据进行排序和搜索的示例详解
-
用javascript对一个json数组深度赋值示例_javascript技巧
-
利用JavaScript中对JSON对象的基本操作示例(图文教程)