关于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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律