JS深拷贝方法

该文章介绍了两种JavaScript中实现深拷贝的方法,一是针对对象的深拷贝函数`deepObj`,二是针对数组对象的深拷贝函数`deepList`。这两个函数遍历原对象或数组,创建新的副本并逐个复制属性值,从而实现深层复制。
摘要由CSDN通过智能技术生成

JS深拷贝方法

一、对象深拷贝

const deepObj = (oldObj) => {
  const newObj = {}
  for (const key in oldObj) {
    if (Object.hasOwnProperty.call(oldObj, key)) {
      const val = oldObj[key];
      newObj[key] = val
    }
  }
  return newObj
}

二、数组对象深拷贝

const deepObj = (oldObj) => {
  const newObj = {}
  for (const key in oldObj) {
    if (Object.hasOwnProperty.call(oldObj, key)) {
      const val = oldObj[key];
      newObj[key] = val
    }
  }
  return newObj
}
const deepList = (oldList) => {
  let newList = []
  oldList.forEach(item => {
    const newObj = deepObj(item)
    newList.push(newObj)
  })
  return newList
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值