0

如果我有一个像这样的数组:

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

我可以对其进行排序以获取从最大数字到最小数字的数组或数字吗?, 像这样 :

// [1000, 50, 11, 8, 5, 2, 0]
4

6 回答 6

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;});
于 2012-07-31T08:51:12.463 回答
2

你可以试试这个:

var myArray = [5, 0, 2, 8, 11, 1000, 50];
myArray.sort(function(a, b) {
    return b - a;
});

如此处建议:http: //www.w3schools.com/jsref/jsref_sort.asp

于 2012-07-31T08:52:50.690 回答
1

You can use the sort() function. See https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort

Note that the default behaviour of sort() is alphabetically ascending. To sort in numerical descending order you will need to pass a compare function, e.g.

var myArray = [5, 0, 2, 8, 11, 1000, 50];
myArray.sort(function(a,b){return b-a});
于 2012-07-31T08:55:31.850 回答
1

是的,通过使用反向方法。Sort方法将按升序对其进行排序。

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

myArray.reverse();

更多关于Array的操作,看这个链接

于 2012-07-31T08:51:06.960 回答
0

试试这个很简单:

 myArray.sort()
于 2012-07-31T08:51:24.120 回答
0

这应该这样做:

myarray.sort(function(a,b){return b - a})
于 2012-07-31T08:54:17.490 回答