我试图使用排序功能来排列项目,以便在数字数组中找到最大的元素。 在Chrome中,检查元素并打开控制台。
>>var a = [1000, 1001, 857, 1]
>>undefined
>>a.sort()
>>(4) [1, 1000, 1001, 857] // no patern found.
为什么数字没有像在其他情况下那样正确排序:
>>var b = [13, 27, 18, 26];
>>undefined
>>b.sort()
>>(4) [13, 18, 26, 27] // here the numbers are in ascending order.
答案 0 :(得分:1)
这是因为默认的排序顺序将数组的元素视为文本,而不是数字。
默认排序顺序是根据字符串Unicode代码点确定的。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort