首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JavaScript 中的 Array.prototype.sort 为何不总是按预期排序?

JavaScript 中的 Array.prototype.sort 为何不总是按预期排序?

作者头像
用户12771345
发布2026-09-19 09:02:26
发布2026-09-19 09:02:26
210
举报
概述
在开发中,我们经常用 Array.prototype.sort() 对数组排序,特别是处理数字数组时,默认行为常常让人困惑。比如 [1, 5, 10, 2].sort() 会得到 [1, 10, 2, 5],而不是按数值大小排列。这是因为 sort 默认将元素转换为字符串,再比较 UTF-16 码元序列。更隐蔽的问题出现在比较函数返回值不规范、数组包含 undefined 或稀疏元素,以及现代引擎

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档