当前位置: 代码迷 >> 综合 >> js进行对象深度拷贝deep clone
  详细解决方案

js进行对象深度拷贝deep clone

热度:84   发布时间:2024-02-28 06:55:04.0

 

1、利用json两次转换

推荐——操作新颖,逆向思维

(①转成json字符串;②在将字符串转为对象)

  obj1 = { a: 0 , b: { c: 0}}; let obj3 = JSON.parse(JSON.stringify(obj1)); obj1.a = 4; obj1.b.c = 4; log(JSON.stringify(obj3));// { a: 0, b: { c: 0}}

2、利用vue的lodash

慎用lodash的cloneDeep函数(文中还是推荐方法一)

import { cloneDeep } from 'lodash';
//拷贝对象,防止引用
this.allocateInfo = cloneDeep(allocate);

3、传统笨拙方法:循环对象,对每个属性拷贝

(漏洞:对象嵌对象,可能还是存在引用);

  引申:Object.assign()

  相关解决方案