课程 277 / 365
76%
正文已完成
L277四个问题判断该用列表还是映射
比较顺序、唯一键、重复项和更新方式,避免凭数据量大小机械选择结构。
列表保留顺序和重复项,映射保留键值关系。再检查键是否稳定、更新怎样发生,就能覆盖大多数日常选择。
能用四项检查判断一组业务数据应采用列表、映射还是双结构。
核心概念
先把关键判断说清楚
顺序是一种业务信息
待办优先级、时间线和步骤顺序都会影响结果,不能为了查找方便而无意丢掉。
键必须稳定且唯一
姓名、标题等字段可能重复或变化,不适合作为长期映射键;内部 ID 通常更可靠。
更新成本要看实际动作
频繁按 ID 局部更新偏向映射,频繁追加并整体展示偏向列表;不要只比较理论查找速度。
案例拆解
排班表为什么不能用姓名当键
团队用员工姓名作为排班映射键,遇到同名员工和姓名变更后覆盖了班次。
- 01
确认排班页面需要按日期和班次顺序展示,因此保留列表。
- 02
改用不可变员工 ID 作为人员映射键,姓名只作为可更新字段。
- 03
在每条排班记录中保存员工 ID,并在渲染时从人员映射读取姓名。
案例结果
同名与改名不再破坏关联,页面顺序也保持清晰。
提交前练习
现在轮到你
审查一个现有数据集合,完成列表与映射的四项判断。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
对象是商品收藏;顺序要求是按收藏时间倒序;唯一键是商品 ID;更新是经常按商品 ID 取消收藏;决定是列表保存顺序,Set 或映射判断是否已收藏,不能只用商品名作键。
评分标准
- 四项判断都有业务证据
- 候选键经过稳定性检查
- 决定说明了被舍弃方案的缺口
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- MDN Web Docs↗reference · 核对日期 2026-08-23
- JSON Schema Core Specification 2020-12↗standard · 核对日期 2026-08-23