SOURCE

var obj ={
    a:'xxx',
    b:'yyy',
    obj1:{
a:'xxx',
    b:'yyy',
    }
}
const deep =(obj)=>{
 // 检查输入是否是对象
  if (typeof obj !== 'object' || obj === null) {
    return obj; // 如果不是对象则直接返回原始值
  }

  // 创建一个新的空对象或数组,用于存储拷贝后的值
  const copy = Array.isArray(obj) ? [] : {};
  // 遍历原始对象的属性
  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      // 对每个属性进行递归拷贝
      copy[key] = deep(obj[key]);
    }
  }
  return copy;

}
console.log(deep(obj))
console 命令行工具 X clear

                    
>
console