当应用于 [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]
答案 0 :(得分:2)
默认情况下,Javascript会将array
的元素视为string
。因此,在对19
,720
,5
进行排序时,它会从中获取第一个字符并按顺序排序。比如19, 5, 720
。
var arr = [20,19,500,2000];
arr.sort(function(a, b) {
return a - b;
})