在某些情况下,JavaScript中的排序功能无法提供正确的输出?

时间:2018-09-12 12:55:53

标签: javascript arrays sorting

我试图使用排序功能来排列项目,以便在数字数组中找到最大的元素。 在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.

1 个答案:

答案 0 :(得分:1)

这是因为默认的排序顺序将数组的元素视为文本,而不是数字。

  

默认排序顺序是根据字符串Unicode代码点确定的。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort