2012-06-26 114 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