js对json数组进行排序

js中有一个sort()方法,可以直接通过arr.sort()进行排序,默认只能对数组的值进行排序,然而有一些数组数据却是json格式的,需要对其进行排序,则需要重新写相关方法

sort()方法定义

  • sort()方法用于对数组元素进行排序
  • 语法: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);

结果:
在这里插入图片描述

你可能感兴趣的:(js,js)