Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组排序方法似乎工作不正常_Javascript_Sorting - Fatal编程技术网

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

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

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()
方法对数组中的元素进行排序并返回排序后的数组。默认排序顺序建立在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列的基础上

const arr=[1,5,12,8,17];

log(arr.sort((a,b)=>a-b))
的默认比较函数
.sort()
将值作为字符串进行比较。如果要执行其他操作,必须传递一个显式比较器函数。请尝试
arr.sort((a,b)=>a-b)
@slider,它可以工作!