-
我的数字数组用 sort() 排完序居然变成了乱序,[1,2,10,9] 排成了 [1,10,2,9],我一度怀疑是引擎 bug,查了大半天才反应过来的深度复盘
我做排行榜,要把一组分数从小到大排,顺手写了 scores.sort()。结果排行榜乱成一团:[1,2,10,9] 排完竟变成了 [1,10,2,9],10 跑到了 2 前面。我一度怀疑 sort() 有 bug、怀疑数据是乱的,翻了 MDN 才恍然大悟:sort() 不传比较函数时,默认会把元素转成字符串、按 Unicode 码点排序——"10" 的首字符 "1&q…- 0
- 0
-
商品按价格排序,9 块钱排在了 80 块后面:我在 JavaScript 里被 Array.sort() 默认按字符串排序坑惨的那次线上事故复盘
商品列表"按价格从低到高"排序,上线后却乱成一团:9 元排在 80 元后面,1000 元跑到 200 元前面。控制台一跑 [9,80,100,1000,200].sort() 得到 [100,1000,200,80,9]——真凶是 Array.sort() 不传比较函数时,默认把元素转成字符串、按字典序排,"100"- 0
- 0
Array.sort
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!
![我的数字数组用 sort() 排完序居然变成了乱序,[1,2,10,9] 排成了 [1,10,2,9],我一度怀疑是引擎 bug,查了大半天才反应过来的深度复盘](https://blog.biekanle.com/wp-content/uploads/thumb/2026/06/fill_w526_h326_g0_mark_manual_339_cover.webp)

