如何对javascript数组进行排序

时间:2012-02-24 22:12:52

标签: javascript arrays

我需要在javascript中对数组进行排序..

任何人该怎么做?

默认情况下,排序方法不适用于数字......

我的意思是:

a = [1, 23, 100, 3]
a.sort()

值是:

[1, 100, 23, 3]

谢谢:)

6 个答案:

答案 0 :(得分:10)

通常适合我:

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

答案 1 :(得分:3)

因此,如果您编写排序函数,它将起作用。

[1, 23, 100, 3].sort(function(a, b){
    if (a > b)
        return 1;
    if (a < b)
        return -1;
    return 0
});

答案 2 :(得分:1)

<script type="text/javascript">

function sortNumber(a,b)
{
return a - b;
}

var n = ["10", "5", "40", "25", "100", "1"];
document.write(n.sort(sortNumber));

</script> 

答案 3 :(得分:0)

您可以将比较器功能传递给sort

> a.sort(function(a, b) { return a < b ? -1 : a > b ? 1 : 0; });
  [1, 3, 23, 100]

答案 4 :(得分:-1)

使用custom sort function

a = [1, 23, 100, 3];
a.sort(function(a,b){ return a-b; });

答案 5 :(得分:-2)

这是一种将Javascript数组升序排序的解决方案

function bubblesort(array){

    var done = false;
    while(!done){
        done = true;
        for(var i = 1; i< array.length; i++){
            if(array[i -1] > array[i]){
                done = false;
                var tmp = array[i-1];
                array[i-1] = array[i];
                array[i] = tmp;
            }
        }
    }
    return array;
}
var numbers = [2, 11, 1, 20, 5, 35];
bubblesort(numbers);