js对数字数组排序

Love The Way You Lie 2022-01-12 00:33 403阅读 0赞

js中经常需要用到对数组进行排序的操作,当数组中的元素均为数字时,直接使用sort()进行排序得到的结果可能不是你想要的结果。

假如我有数组arrayNums=[15,2,16],直接使用arrayNums.sort()的排序结果将是[15,16,2],这是因为Javascript 的sort()函数在默认情况下是按照字符串顺序对值进行排序的。

正因如此,sort() 方法在对数值排序时会产生不正确的结果。

所以我们可以通过一个比值函数来修正此问题,如下:

  1. var arrayNums=[15,2,16];
  2. arrayNums.sort((a, b) => a - b);

比较函数的目的是定义另一种排序顺序。

比较函数应该返回一个负、零或正值,这取决于参数。

当 sort() 函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。

感谢您的阅读~

发表评论

表情:
评论列表 (有 0 条评论,403人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JS数组排序

    一、冒泡排序 1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。 2、比较完第一轮的时候,最后一个元素是最大的元素。 3、这时候最后一个元素是最大的,所以