let array1 = [
{
name: 'a',
id: '1',
fun: () => {
return 0
},
},
{
name: 'b',
id: '2',
},
]
let array2 = [...array1]
array1.push('3')
array2.push('2')
array1[0].name = 'c'
console.log(array1)
// output: Array [Object { name: "c", id: "1", fun: ()=>{return 0} }, Object { name: "b", id: "2" }, "3"]
console.log(array2)
// output: Array [Object { name: "c", id: "1", fun: ()=>{return 0} }, Object { name: "b", id: "2" }, "2"]
这里面的push已经改变了array1的数据,使用扩展运算符浅拷贝来的array2为啥没有获取到push进去的3?