news 2026/2/23 18:58:03

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 中一个常见的陷阱!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 12:30:04

Springboot品牌购物官网rmu1i本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能:开题报告内容进度安排:1、XXXX年X月X日-XXXX年X月XX日:完成前期资料的搜集与整理,撰写开题报告以及开题PPT。2、XXXX年X月X日-XXXX年X月XX日:设计完成系统的总体框架。3、XXXX年X月X日-XXXX年…

作者头像 李华
网站建设 2026/2/13 23:20:12

HeiXi 配置 Metahuman

效果:PlayerStart(实例) 配置:位置 (0,149,120)角度:(0,-10,-90)

作者头像 李华
网站建设 2026/2/14 20:54:33

微信小程序 PHP_uniapp的疫苗接种综合服务预约系统的设计与实现_8nt0wdue

微信小程序疫苗接种综合服务预约系统的设计与实现 该系统基于微信小程序平台,结合PHP后端与Uniapp框架,构建了一套高效、便捷的疫苗接种预约服务平台。系统采用前后端分离架构,前端使用Uniapp实现跨平台兼容性,后端采用PHP处理业务…

作者头像 李华
网站建设 2026/2/16 13:23:12

微信小程序 PHP_uniapp的社区团购系统_1g4y216z

微信小程序社区团购系统概述 该系统基于PHP和UniApp技术栈开发,整合微信小程序前端与PHP后端,实现社区团购的完整业务流程。前端采用UniApp跨平台框架,兼容多端运行;后端使用PHP构建高效的数据接口,支持商品管理、订单…

作者头像 李华
网站建设 2026/2/14 11:53:33

论文复现:PMSM速度伺服系统的强化学习与最优控制

论文复现:PMSM速度伺服系统的强化学习与最优控制 以下是基于论文提出的控制策略的复现代码,包括模型建立、控制器设计、强化学习算法实现以及仿真验证。代码将分为以下几个部分: 系统建模与参数定义 快速电流环PI控制器 模型降阶与慢速子系统 最优速度环设计与LQR问题 强化…

作者头像 李华