今天在刷力扣题的时候遇到数组排序的问题,想着图个方便就使用了arr.sort(),

刚开始用正数进行测试用例的时候没有出错,

问题:

在使用负数的测试用例时,预期目标是  [-10,-2,-1…1,2,3], 结果出现了  [-1,-2,-10……1,2,3] 这样的结果

解析:

在网上找了一下发现,sort()这个方法: 默认情况下是按照 Unicode 代码进行排序的。对于数字,如果数组包含负数,直接使用sort()可能不会按照数值的正常顺序进行排序。

怎么办:

方法1:自己写排序

 

方法2:写自定义函数

升序:

arr = arr.sort((a,b)=>{       return a-b  })

降序:

arr = arr.sort((a,b)=>{   return b-a })

参考: https://blog.csdn.net/study_way/article/details/135478580