企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
考虑数组版(常用版) ``` 1.判断是否是引用类型: 如果不是,则直接 return 2.判断是对象还是,数组 3.用 for in 遍历每一个 key,并将 target 的value赋值给 新的 value 4.赋值value的时候,注意可能value也是一个引用类型,所以需要自调用clone方法,形成递归 5.for in 结束时递归结束 ``` ```js function clone(target) { // 判断是否为引用类型 if (typeof target === 'object') { // 判断是否为数组 let cloneTarget = Array.isArray(target) ? [] : {} for (let key in target) { // 递归 cloneTarget[key] = clone(target[key]) } return cloneTarget } else { return target } } ```