js 深拷贝
程序员文章站
2022-07-06 09:14:56
...
一。js深拷贝方式:
1、递归实现。
function clone(data) { if (typeof data === 'object') { var newData = Array.isArray(data) ? [] : {}; for (var i in data) { newData[i] = clone(data[i]) } return newData; } else { return data; } } var a = {a: 1, b: 2, c: {d: 1}}; var b = clone(a) console.log(b) b.c.d = 3 console.log(a,b)
2、JSON.stringify和JSON.parse实现。
function cloneTwo(data) { var newData = JSON.stringify(data); return JSON.parse(newData); } var aa = {a: 1, b: 2, c: {d: 1}}; var bb = cloneTwo(aa) console.log(bb) bb.c.d = 3 console.log(aa,bb)
上一篇: 宝宝冬季饮食注意事项 这样吃整年不生病