似乎数组排序方法无法正常工作

时间:2019-07-12 15:21:52

标签: javascript sorting

Array.sort()函数未返回预期结果。那实际上是如何工作的?

const arr = [1, 5, 12, 8, 17];
console.log(arr.sort());

预期结果将是:[1、5、8、12、17] 但我得到的结果是:[1、12、17、5、8]

1 个答案:

答案 0 :(得分:1)

您需要传递一个回调以对整数数组进行排序。如果默认情况下不传递回调,则它将根据UTF-16代码值单位进行排序。根据{{​​3}}

  

sort()方法对数组元素进行适当排序并返回排序后的数组。默认的排序顺序是基于将元素转换为字符串,然后比较其UTF-16代码单元值的序列

const arr = [1, 5, 12, 8, 17];
console.log(arr.sort((a,b) => a - b));