大家好,又见面了,我是你们的朋友全栈君。
js中经常需要用到对数组进行排序的操作,当数组中的元素均为数字时,直接使用sort()进行排序得到的结果可能不是你想要的结果。
假如我有数组arrayNums=[15,2,16],直接使用arrayNums.sort()的排序结果将是[15,16,2],这是因为Javascript 的sort()函数在默认情况下是按照字符串顺序对值进行排序的。
正因如此,sort() 方法在对数值排序时会产生不正确的结果。
所以我们可以通过一个比值函数来修正此问题,如下:
var arrayNums=[15,2,16];
arrayNums.sort((a, b) => a - b);
比较函数的目的是定义另一种排序顺序。
比较函数应该返回一个负、零或正值,这取决于参数。
当 sort() 函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。
感谢您的阅读~
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146241.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...