技术文章 > Web开发 >  JavaScript > 正文

js如何深拷贝一个对象

宋宋大人

JavaScript中,数据类型有原始类型和对象类型两种类型,其中如果想要对对象进行简单地复制很简单,但是当要复制的对象中存在某一个属性的值类型是对象或者数组时,就不能进行简单的复制,要对对象进行深拷贝操作。本文介绍js深拷贝对象的方法:1、利用json对象深拷贝对象;2、利用递归的方式深拷贝对象;3、利用ES6对象扩展运算符(…)深拷贝对象。

方法一:利用json对象深拷贝对象

var obj = {
  name: 'FungLeo',
  sex: 'man',
  old: '18'
}
var obj2 = JSON.parse(JSON.stringify(obj))

方法二:利用递归的方式深拷贝对象

function deepCopy(s) {
    const target = {}
    for (let k in s) {
      if (typeof s[k] == 'object') {
        d[k] = deepCopy(s[k])
      } else {
        d[k] = s[k]
      }
    }
    return target
  }
  console.log(deepCopy(a));

方法三:利用ES6对象扩展运算符(…)深拷贝对象

const obj = {
        name: 'ha',
        age: 10
    }
    const obj2 = {
        obj: {
            ...obj
        }
    }

以上就是js深拷贝对象的方法,大家可以根据自己的需求选择合适的方法哦~更多js学习推荐:js教程

免费视频教程
本文原创发布python学习网,转载请注明出处,感谢您的尊重!
相关文章
 如何使用python实现项目进度显示?
 python中的win32com库是什么?
 python如何实现工作表合并?
 python中如何实现搜索引擎功能?
相关视频章节
 python注释
 python命名规范
 Python随机模块
作者信息
视频教程分类