按长度排序数组

时间:2012-06-26 11:30:41

标签: javascript arrays integer

我有以下数组:

http://jsfiddle.net/3NZsK/

我需要按照它们的长度对数组进行排序。

如何找出哪一个是最大的,第二大的,第三大的,最少的阵列?

例如,我有以下虚拟函数,它可以使我们成为第二大数组:

http://jsfiddle.net/WPRYf/

上面的虚函数算法是什么?

提前谢谢

2 个答案:

答案 0 :(得分:8)

var
  a = ["a", "a"];
  b = ["b", "b", "b", "b"],
  c = ["c", "c", "c"],
  d = ["d"],
  container = [a, b, c, d];

​container.sort(function (a, b) {
  return b.length - a.length;
});

console.log(container);

container将从最长(大多数元素)到最短(最少元素)排序。访问它:

container[0] // longest
container[1] // 2nd longest
// ...

http://jsfiddle.net/pSRVq/

答案 1 :(得分:1)

您可以使用length方法找到数组的长度,然后根据它们的值对这些数组进行排序,以找到最大的第二大数组。