字符串转数组在线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);
PS:关于json操作,这⾥再为⼤家推荐⼏款⽐较实⽤的json在线⼯具供⼤家参考使⽤:
更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家JavaScript程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。