2012-07-31 53 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})