This question already has answers here:
How to sort an array of integers correctly
                                
                                    (21个回答)
                                
                        
                                4年前关闭。
            
                    
将Javascript的sort()应用于[20,19,500,2000]时返回[19,20,2000,500]。为什么考虑2000小于500?

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

最佳答案

默认情况下,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

09-25 18:07
查看更多