Javascript 数组排序方法似乎工作不正常
Array.sort()函数未返回预期结果。这就是它的实际工作原理,还是什么Javascript 数组排序方法似乎工作不正常,javascript,sorting,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]您需要传递一个回调来对整数数组进行排序。如果默认情况下不传递回调,它将根据UTF-16代码值单位进行排序。据 sort()方法对数组中的元素进行排序并返回排序后的数组。默认排序顺序建立在将元素转换为字符串,然后比较它们的UT
const arr = [1, 5, 12, 8, 17];
console.log(arr.sort());
预期结果为:[1,5,8,12,17]
但我得到的结果是:[1,12,17,5,8]您需要传递一个回调来对整数数组进行排序。如果默认情况下不传递回调,它将根据UTF-16代码值单位进行排序。据
sort()
方法对数组中的元素进行排序并返回排序后的数组。默认排序顺序建立在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列的基础上
const arr=[1,5,12,8,17];
log(arr.sort((a,b)=>a-b))
的默认比较函数.sort()
将值作为字符串进行比较。如果要执行其他操作,必须传递一个显式比较器函数。请尝试arr.sort((a,b)=>a-b)
@slider,它可以工作!