2012-07-31 52 views
0

如果我有這樣一個數組:排序由一個數組的價值觀

var myArray = [5, 0, 2, 8, 11, 1000, 50]; 

我可以排序它得到最低的國家之一的數組或數字從最大的號碼是多少?,像這樣:

// [1000, 50, 11, 8, 5, 2, 0] 
+1

我相信你沒有嘗試搜索它。有這麼多的資源在談論這個。 – 2012-07-31 08:56:50

回答

4
//Sort alphabetically and ascending: 
var myArray = [5, 0, 2, 8, 11, 1000, 50]; 
myarray.sort(); 

//Sort alphabetically and descending: 
var myArray = [5, 0, 2, 8, 11, 1000, 50]; 
myarray.sort(); 
myarray.reverse(); 

// Sort numerically decending order: 
myArray = myArray.sort(function(a, b) {return b - a;}); 
+0

原始數組:1,2,3,4,5,... 30 .. after.sort和reverse ()=> 9,8,7,6,5,4,30,3,29,27,26,25,24 ... 10,1 – John 2012-07-31 08:54:55

+0

請注意,它將按照字典順序進行比較。 – irrelephant 2012-07-31 08:57:17

+0

是的,只是注意到了這一點。答覆修正。謝謝。 – SpaceBeers 2012-07-31 08:57:46

1

是通過使用反向方法。 Sort方法將按升序對其進行排序。

var myArray = [5, 0, 2, 8, 11, 1000, 50]; 

myArray.reverse(); 

有關陣列更多的操作,看看這個link

+0

這會產生數組''[50,1000,11,8,2,0,5]',所以不是他要求的。我認爲你錯過了一個調用排序,它應該是'myArray.sort()。reverse()' – 2012-07-31 08:54:41

0

試試這個方法很簡單:

myArray.sort() 
+0

這會按升序排序。他想要降序 – Anand 2012-07-31 08:52:08

+0

我試過了:myArray.sort()。reverse(),但它並沒有幫助 – John 2012-07-31 08:52:57

+0

不使用排序和反向。其中之一 – Anand 2012-07-31 08:54:03

0

這應做到:

myarray.sort(function(a,b){return b - a})