关于js数组方法sort()负数排序的陷阱

今天在刷力扣题的时候遇到数组排序的问题,想着图个方便就使用了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
posted @   妞妞猪  阅读(135)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示