2012-06-26 91 views
-3

我有以下阵列:排序阵列通过其长度

http://jsfiddle.net/3NZsK/

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

如何找出哪一个是最大的,第二大的,第三大的和最小的数组?

例如,我有以下的虚拟功能,可以让我们的第二大阵列:

http://jsfiddle.net/WPRYf/

什么是上述虚拟函数算法?

预先感谢您

+0

对不起,什么?你的意思是你想按他们的长度排列数组? – gexicide

+0

我想找出哪一个是最大的,第二大的,第三大的和最小的数量。我需要将它们分配到上述变量中​​(请参阅我的解释) – Bayu

+0

我认为@gexicide说“什么?”他的意思是说你的解释没有多大意义,他希望你澄清一下。 – phenomnomnominal

回答

7
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

您可以使用长度方法数组的长度,然后将这些根据自己的价值观,找到最大,第二大数组进行排序。

+0

谢谢,耀西的回答是正确的 – Bayu