问个javascript数组中对象内存地址引用的问题
把a赋值给b
let a = [{
m: 1
}]
let b = [...a]
b[0].m = 2
console.log(a)
console.log(b)
结果:
[ { m: 2 } ] // a
[ { m: 2 } ] // b
改动b里某个元素的属性时,a对应元素里的m属性也跟着变了
那么,怎么能让数组b里的对象重新指向新的内存地址呢?
期望结果:
[ { m: 1 } ] // a
[ { m: 2 } ] // b
拷贝对象,而不是引用对象,assign与
...
一样都是浅拷贝