Capacities:让零散笔记沿着项目重新连起来
Capacities 是面向个人的笔记与知识管理工具。它把会议、人物和项目等内容组织成可以互相连接的对象,方便从一个主题回到相关记录。
先尝试拆解问题、设计和实现,再展开思路,检查状态、边界与取舍,并设计验证用例。思路提供分析路径,不给出完整实现。
01
代码思考
找出关联某个项目的笔记
请写一个函数,从笔记列表中找出属于指定项目的笔记。每条笔记都有字符串编号 id 和字符串列表 projectIds;输入数据的字段都完整。
- 输入与输出: 输入笔记列表和一个项目编号,返回匹配笔记的
id列表。例如笔记为[{id: "N1", projectIds: ["P1"]}, {id: "N2", projectIds: ["P2", "P1"]}, {id: "N3", projectIds: []}],项目编号为"P1",预期输出["N1", "N2"]。 - 规则: 项目编号按字符串完全相同来匹配,输出顺序与输入笔记顺序一致。笔记编号互不重复;没有匹配或输入为空时返回
[]。 - 交付: 编写函数,用示例、项目编号
"P3"和空笔记列表核对结果。使用本地数据即可。
查看思路
- 对每条笔记判断目标项目编号是否出现在它的
projectIds中。 - 保留匹配笔记的编号,并维持原来的先后顺序。
- 手工核对示例得到 N1、N2,再检查没有匹配和空列表的结果。