区分新外层对象与共享嵌套值。
复习map、filter、reduce、浅展开复制、Set大小以及自有与继承属性。
正确数记录六道给定Node 24 ES模块任务中匹配答案的次数,不是开发者等级、百分位、雇主门槛或资格。任何正确数都能读全部答案及四份完整指南。
六个明确的数据变化
数组题给完整回调和短数列,问map是否保持给定源不变、filter选哪些值、reduce显式初值怎样参与。对象题区分新外层与共享嵌套值、重复字符串与不同集合项、沿原型找到与直接自有的属性。答案依赖所述操作,不凭“复制理应怎样”的猜测。
追踪含嵌套列表的浅复制
新不计分例:source含items:["m"],用{...source}建copy,再copy.items.push("n")。外层对象不同,items却访问同一数组,源列表现含m和n。将source.items.join(":")与外层身份比较再用冒号连接,得m:n:false。共享嵌套数组只画一次,不因外层多一个对象就另画独立数组。
先读回调,再判断操作影响
本题map回调返回n+1、不改源,因此支持源不变答案,却不保证所有map回调无副作用。filter用n>0,排除零并保留原顺序;reduce从明确给出的1开始。预测结果时把实际回调及初值写旁边,不只靠记住方法名。
区分属性查找与属性自有
Object.create(parent)建立以parent为原型的对象,读取属性可在那里找到值,Object.hasOwn却可报告子对象不自有它,二者一致而非谁错了。同理Set大小数保留条目,不数输入位置。例子用普通对象与字符串,不覆盖所有代理、访问器、特殊相等假设或异常对象设计。
同时说明结果与保留下来的源
在可丢弃.mjs中用虚构值,数组变换前分别预测返回数组和源;对象复制则预测外层身份与一次嵌套修改。每次只改筛选边界或嵌套值位置等一项,先写预测再核输出。用合成数据,避免暴露客户资料或改有用应用状态。
定位混淆的是对象还是位置
错题可能来自把浅复制当深复制、漏掉累加初值,或认为继承属性一定自有。用完整解析定位具体区别。六题总数不能判断能否建模大型数据或在整个应用避免意外修改;即使全对,想看推理能否迁移仍宜换新值新例。
完整复习不附排名
完整有效作答后,无论正确数都可读全部题解和四份全文。原创片段按声明的Node 24.19.0 ES模块环境运行,不是广泛浏览器兼容研究,也不评真实数据库工作。不派雇主门槛、开发者档位或认证;重读与辅助查阅会影响正确数,个人复习宜记这些条件。