js对json数组进⾏排序
js中有⼀个sort()⽅法,可以直接通过arr.sort()进⾏排序,默认只能对数组的值进⾏排序,然⽽有⼀些数组数据却是json格式的,需要对其进⾏排序,则需要重新写相关⽅法
sort()⽅法定义
sort函数 jssort()⽅法⽤于对数组元素进⾏排序
语法:arrayObject.sort(sortby)
参数描述:sortby可选。规定排序顺序即规则,必须是函数
返回值:对数组的引⽤。数组会在原数组上进⾏排序,不⽣成副本。
注意:
如果调⽤该⽅法时没有使⽤参数,将按字母顺序对数组中的元素进⾏排序,说得更精确点,是按照字符编码的顺序进⾏排序。要实现这⼀点,⾸先应把数组的元素都转换成字符串(如有必要),以便进⾏⽐较。
如果想按照其他标准进⾏排序,就需要提供⽐较函数,该函数要⽐较两个值,然后返回⼀个⽤于说明这两个值的相对顺序的数字。⽐较函数应该具有两个参数 a 和 b,其返回值如下:
若 a ⼩于 b,在排序后的数组中 a 应该出现在 b 之前,则返回⼀个⼩于 0 的值。
若 a 等于 b,则返回 0。
若 a ⼤于 b,则返回⼀个⼤于 0 的值。
demo:
var data = [ { Id: 3, text: 'yq', parent: '2', status: '0', type: '0' },
{ Id: 2, text: 'love', parent: '1', status: '0', type: '1' },
{ Id: 1, text: 'I', status: '0', type: '1' } ];
function sortId(a,b){
return a.Id-b.Id;
}
data.sort(sortId);
console.log(data);
结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论