按其值排序数组

时间:2012-07-31 08:48:38

标签: javascript arrays

如果我有一个类似的数组:

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

我可以对其进行排序,以获得从最大数字到最低数字的数组吗?,如下所示:

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

6 个答案:

答案 0 :(得分: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;});

答案 1 :(得分: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

答案 2 :(得分:1)

是的,使用反向方法。 排序方法会按升序对其进行排序。

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

myArray.reverse();

有关Array的更多操作,请查看此link

答案 3 :(得分:1)

您可以使用sort()功能。见https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort

请注意sort()的默认行为按字母顺序升序。要按数字降序顺序排序,您需要传递比较函数,例如

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

答案 4 :(得分:0)

试试这很简单:

 myArray.sort()

答案 5 :(得分:0)

这应该这样做:

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