(资料图片)
js深拷贝
在JavaScript中,有多种方法可以实现对象的深拷贝,下面介绍几种常用的方式:
手动遍历对象进行复制
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;}使用JSON.stringify和JSON.parse进行深拷贝 注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用
function deepCopy(obj) { return JSON.parse(JSON.stringify(obj));}注意:这种方式虽然简单,但是会忽略对象中的函数、循环引用等情况,需要谨慎使用
const _ = require("lodash");let obj = { a: 1, b: { c: 2 } };let newObj = _.cloneDeep(obj);

