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() 函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。
感谢您的阅读~