实现 deepClone(value):递归复制普通对象与数组(原始值直接返回),并正确处理循环引用(同一个源对象只复制一次,克隆结果中的引用关系与源一致)。脚手架会用 refs 数组构造循环引用,克隆后修改源对象再输出克隆,以检验是否为真深拷贝。不得使用 structuredClone / JSON 序列化。本题为「核心代码模式 · 仅 JavaScript」:模板已内置 JSON 读入与输出脚手架,只需补全指定函数。
输入描述
一行 JSON:{"value": 任意 JSON 值, "refs": [[路径, 目标路径]...]}。脚手架会把 value 中「路径」处的属性指向「目标路径」处的对象以制造循环引用(路径为点号字符串,空串表示根)。
输出描述
三行:克隆是否与源不是同一引用(true/false);源对象被修改后克隆的序列化结果(循环引用处输出 "[Circular]");克隆内部循环引用是否指向克隆自身而非源(true/false)。