根据参数数组长度对数组进行排序

时间:2017-09-06 11:57:52

标签: javascript arrays sorting

所以我有一个数组,例如 -

[
  {
    "data": [
       1, 2, 3
    ]
  },
  {
    "data": [
      2, 3, 4, 5
    ]
  }
]

我需要根据数据长度对主数组进行排序。首先是具有最大数据数组的对象,最后是具有最小数据数组的对象,在这种情况下,它将以相反的顺序排序。

我该怎么做?

JSFiddle:https://jsfiddle.net/tk7nybkq/

1 个答案:

答案 0 :(得分:0)

您可以将sort()函数与两个将循环使用的参数一起使用,并获取与data键相关的已排序JOSN数组。

var arr = [
{
    "data": [
      8, 2, 3, 4, 5,6,7
    ]
  },
  {
    "data": [
       1, 2, 3
    ]
  },
  {
    "data": [
      2, 3, 4, 5
    ]
  },
  {
    "data": [
       4, 5
    ]
  }
];

arr.sort(function (first, second) {
    return first.data.length - second.data.length;
});

console.log(arr);

为了更好的输出,我在arr

中添加了一些额外的对象