以下是一个基本的JavaScript对象深拷贝函数:

function deepCopy(obj) {
  var result = Array.isArray(obj) ? [] : {};
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      if (typeof obj[key] === 'object') {
        result[key] = deepCopy(obj[key]);
      } else {
        result[key] = obj[key];
      }
    }
  }
  return result;
}

该函数接受一个JavaScript对象作为参数,并返回该对象的深拷贝。如果对象是数组,则返回一个新数组,否则返回一个新对象。

函数通过递归遍历对象的每个属性,并根据该属性的数据类型执行相应的操作。如果属性是对象,则递归调用函数以获取该对象的深拷贝。否则,将该属性直接复制到新对象中。

需要注意一些特殊情况,例如循环引用和内置对象等,这些情况需要根据实际情况进行处理。

写一段JavaScript的对象深拷贝代码

原文地址: https://www.cveoy.top/t/topic/rxW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录