1 2 3 4 5 6 7 8 9 10 11 12 13
|
const b = [1, 2, 3, 4, { value: 123 }] const a = b.concat([]) // a = b or a = [...b] or a = JSON.parse(JSON.stringify(b)) or a = Object.values(Object.assign({}, b)) a.push(5) a[4].value = 321 a[0] = 2
console.log(a, b) a = b 结果:[2,2,3,4,{value: 321},5] a = [...b] 结果:a: [2,2,3,4,{value: 321},5] b:结果:[1,2,3,4,{value: 321}]
([...b] or b.concat([]) or Object.values(Object.assign({}, b)),三种结果一致,对数值或字符串基础类型进行深拷贝,对象,数组等引用类型是浅拷贝)
a = JSON.parse(JSON.stringify(b)) 结果:a: [2,2,3,4,{value: 321},5] b:结果:[1,2,3,4,{value: 123}] 完全深拷贝(无法拷贝函数)
|
近期评论