【发布时间】:2019-02-17 03:06:39
【问题描述】:
我尝试使用排序功能来排列项目,以便在数字数组中找到最大的元素。 在 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.
【问题讨论】:
-
默认比较器函数将值作为字符串而不是数字进行比较。您可以传递自己的比较器函数。
-
来自文档:
The default sort order is according to string Unicode code points.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript arrays sorting