本章进度 3 / 18
17%
正文已完成
L278为课程进度设计列表与映射模型
把真实需求落成一份含顺序、索引、更新规则和异常处理的数据模型。
现在把“列表与映射”用于一次具体操作,检查你能否独立做出并修正结果。
建议先完成同主题的理解与判断;本页不会锁课,可以边做边回补。
- 按本课练习说明准备真实材料
- 保留练习与复盘记录
可用的数据模型需要定义列表保存什么、映射的键和值是什么、二者如何同步,以及缺失或重复数据怎样处理。一句“用 Map”还不足以指导实现。
能为同时需要有序展示与按 ID 更新的场景交付一份可实现的数据结构方案。
核心概念
先把关键判断说清楚
单一事实来源
同一字段不要在多个结构里独立维护;否则一次更新可能留下互相矛盾的值。
索引可以重建
列表是事实集合时,按 ID 的映射可以由列表生成;可重建索引不应被当成第二份业务事实。
异常规则属于模型
重复 ID、未知 ID 和删除后的引用必须在方案里明确,而不是留给实现者临场猜测。
案例拆解
365 节课程的本地进度模型
课程目录按固定顺序展示,但浏览器进度会凭课程 ID 单独写入并读取。
- 01
课程蓝图用有序列表保存 ID、标题和篇章顺序。
- 02
进度用课程 ID 到状态记录的映射保存,不复制课程标题。
- 03
渲染时遍历课程列表并读取映射;未知进度 ID 被隔离并记录,而不是插入目录。
案例结果
课程结构保持稳定,进度可独立更新,旧数据也不会改变目录事实。
提交前练习
现在轮到你
设计一个同时支持顺序浏览和按 ID 更新的数据模型。
完成本课需要:完成以下内容用于本课收口。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
项目列表保存项目 ID 的显示顺序;项目详情映射以 ID 为键保存唯一对象;排序只改 ID 列表,详情更新只改映射;重复 ID 拒绝写入,未知 ID 显示缺失占位并记录。
评分标准
- 列表和映射职责不重叠
- 同步规则覆盖增删改
- 异常输入有显式处理
本课收口 · 学习证据
留下完整学习证据
读完内容、完成练习、通过理解检查并留下 12 字以上总结,才记为已验证。
你现在更接近哪一种状态?
尚有必填项未完成,请补齐后再继续。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- MDN Web Docs↗reference · 核对日期 2026-08-23
- JSON Schema Core Specification 2020-12↗standard · 核对日期 2026-08-23