当前位置: 首页 > news >正文

nums.sort()和nums.sort((a, b) => a - b)

这两者有重要区别

nums.sort()

默认按字符串排序(字典序),即使数组里是数字也会被转换为字符串再比较:

letnums=[100,4,200,1,3,2];nums.sort();// [1, 100, 2, 200, 3, 4]console.log(nums);// 错误的顺序!

nums.sort((a, b) => a - b)

按数值大小升序排序

letnums=[100,4,200,1,3,2];nums.sort((a,b)=>a-b);// [1, 2, 3, 4, 100, 200]console.log(nums);// 正确的顺序!

验证示例

lettest1=[100,4,200,1,3,2];console.log(test1.sort());// [1, 100, 2, 200, 3, 4]console.log(test1.sort((a,b)=>a-b));// [1, 2, 3, 4, 100, 200]lettest2=[10,2,1];console.log(test2.sort());// [1, 10, 2]console.log(test2.sort((a,b)=>a-b));// [1, 2, 10]

对于最长连续序列问题

使用nums.sort()会导致错误结果:

functionlongestConsecutiveWrong(nums){nums.sort();console.log("排序后:",nums);// 错误的顺序// 后面的逻辑会得到错误结果// 比如 [100, 4, 200, 1, 3, 2] 排序后是 [1, 100, 2, 200, 3, 4]// 会认为最长连续序列是 1 而不是 4}

其他排序方式

// 升序排序nums.sort((a,b)=>a-b);// 降序排序nums.sort((a,b)=>b-a);// 按绝对值排序nums.sort((a,b)=>Math.abs(a)-Math.abs(b));// 按字符串长度排序(如果元素是字符串)strings.sort((a,b)=>a.length-b.length);

所以对于数字排序,一定要使用sort((a, b) => a - b)而不是默认的sort()。这是 JavaScript 中一个常见的陷阱!

http://www.jsqmd.com/news/211728/

相关文章:

  • 吐血推荐10个AI论文网站,自考本科论文格式规范必备!
  • Springboot劳务派遣人事系统gjfr3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 大数据领域数据安全防护的最佳实践分享
  • 分页(Paging)完全解析
  • 分页(Paging)完全解析
  • MCP 很火,来看看我们直接给后台管理系统上一个 MCP?
  • 大数据领域Doris与MongoDB的集成方案
  • 美团Java后端Java面试被问:Kafka的零拷贝技术和PageCache优化
  • 导师严选10个AI论文写作软件,专科生轻松搞定毕业论文!
  • HeiXi 配置 Metahuman
  • 导师严选10个一键生成论文工具,本科生毕业论文必备!
  • 高德扫街榜2026发布:首个全季节、全品类、全人群和全球化的真实榜单
  • The following modules are missing or built with a different engine version:
  • 命令替换(Command Substitution)详解
  • 优雅阅读实时热闻,畅享新闻新体验✨
  • [特殊字符] Pathway:高效的Python ETL框架,助力实时数据处理与分析
  • 星空计划亮相2026年CES,全球化战略进程加速
  • MybatisPlus-快速入门
  • 高德扫街榜100天全新升级:从美食到吃喝玩乐,全球首次实现飞行实景探店
  • 论文67分神话创造者:7000篇论文实战淬炼,金老师带你锁定2026年高项通关“生死关”
  • 2026年入局AI行业:普通人的机会在哪里?
  • 操作系统期末复习——第5章:输入/输出
  • Claude Code 国内使用2026年最新完整教程分享
  • Mosaic:面向超长序列的多GPU注意力分片方案
  • 操作系统期末复习——第4章:文件系统
  • 2026马斯克《Moonshots》播客独家访谈全记录与深度解析
  • GESP Python 编程一级教材之 10 掌握变量的创建及使用(教程含历年试题解析)
  • 微信小程序 PHP_uniapp的社区团购系统_1g4y216z
  • GESP Python 编程一级教材之 11 掌握输入输出语句 input 和 print(教程含历年试题解析)
  • 6.1 Elasticsearch-Lucene 索引文件结构:tim、tip、doc、pos、pay