更多
首页 >  国内 >

全球热文:js深拷贝

2023-05-16 17:00:37 来源:博客园


(资料图片)

js深拷贝

在JavaScript中,有多种方法可以实现对象的深拷贝,下面介绍几种常用的方式:

  1. 手动遍历对象进行复制

    function deepCopy(obj) {  if (typeof obj !== "object" || obj === null) {    return obj;  }  let newObj = Array.isArray(obj) ? [] : {};  for (let key in obj) {    if (Object.prototype.hasOwnProperty.call(obj, key)) {      newObj[key] = deepCopy(obj[key]);    }  }  return newObj;}
  2. 使用JSON.stringify和JSON.parse进行深拷贝 注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用

    function deepCopy(obj) {  return JSON.parse(JSON.stringify(obj));}
  3. 注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用

    const _ = require("lodash");let obj = { a: 1, b: { c: 2 } };let newObj = _.cloneDeep(obj);

以上几种方式都可以实现对象的深拷贝,选择哪种方式取决于实际业务需求和数据结构。

相关qq学习群:910316886

标签:

国际
国内

要闻

健康

法制

体育