理解一个具体问题
排序键:为什么“第10区”会排在“第2区”前
按字符逐位比较时,字符串“第10区”可先于“第2区”。如果业务含义是序号,单独存整数 sort_number=2 或 10;统一前缀后再比较序号。
| 学习编号 | LEARN-003 |
|---|---|
| 核心问题 | 排序键:为什么“第10区”会排在“第2区”前 |
| 分类 | 排序与前导零 |
| 材料性质 | 本站自创教学卡;案例为虚构栏目,技术示例可在本地复现。 |
判断要点
显示名可为“第02区”,排序键仍是 2;稳定 ID 不随显示位数改变。
动手检查
将 1、2、10 三个整数排序得到 1→2→10;另保留代码“02”和“2”,确认前导零无意义后才把它们视为同号。
适用范围
适合
- 整理栏目、文件清单和知识库目录的读者
- 希望把显示名称与身份标识分开管理的内容维护者
不适合
- 没有原始清单就批量覆盖名称
- 只凭规范化字符串删除疑似重复条目
继续阅读对应指南
指南
八行目录规范化练习:映射表与参考答案
先按题设身份信息建立八行原名映射,再给已确认记录填显示名与排序键。参考结果为六行接受、两行待查,接受行对应五个不同对象;不得删除原始行来制造整齐的目录。
包含 5 个可复现步骤
阅读指南接下来可以看
学习卡片
八行映射练习:接受六行,保留两行待查
把虚构目录 A 的第一区、第2区、第二区、第10区、第02区、一线观察及目录 B 的第2区、A 的 2区,逐行填写 ID、显示名、排序键与处理状态。
- 使用方式
- 阅读与实践
- 内容性质
- 教学材料
学习卡片
冲突队列:不要覆盖同名文件或目录
当“第02区”转换后命中现有“第2区”,先比较稳定 ID。ID 一致且规则确认前导零仅为显示格式时可收为别名;ID 不同则保留两条并报告冲突。
- 使用方式
- 阅读与实践
- 内容性质
- 教学材料
数据透明度
来源与核验状态
- ECMA-402:Collator 对象 已核验
- 发布方
- Ecma International / TC39
- 访问日期
- 2026-09-11
- 支持字段
- Intl.Collator 的 numeric 排序选项及实现差异;不提供目录合并规则