Javascript的sort()不按升序返回

时间:2015-07-02 17:58:27

标签: javascript arrays sorting

当应用于 [20,19,500,2000] 时,Javascript的sort()会返回 [19,20,2000,500] 。为什么 2000 小于 500

var arr = [20,19,500,2000];
arr.sort();
arr;
// [19, 20, 2000, 500]

1 个答案:

答案 0 :(得分:2)

默认情况下,Javascript会将array的元素视为string。因此,在对197205进行排序时,它会从中获取第一个字符并按顺序排序。比如19, 5, 720

var arr = [20,19,500,2000];
arr.sort(function(a, b) {
    return a - b;
})

More Details

More on Sorting