今天在刷力扣题的时候遇到数组排序的问题,想着图个方便就使用了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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。