把a赋值给blet a = [{ m: 1}]let b = [...a]
b[0].m = 2console.log(a)console.log(b)结果:[ { m: 2 } ] // a[ { m: 2 } ] // b改动b里某个元素的属性时,a对应元素里的m属性也跟着变了那么,怎么能让数组b里的对象重新指向新的内存地址呢?期望结果:[ { m: 1 } ] // a[ { m: 2 } ] // b
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
拷贝对象,而不是引用对象,assign与...
一样都是浅拷贝
let b = a.map(item=>{ return Object.assign({},item) })
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
let a = [{ m: 1}]let b = JSON.parse(JSON.stringify(a)) b[0].m = 2console.log(JSON.stringify(a))console.log(JSON.stringify(b))
- 2 回答
- 0 关注
- 1322 浏览
添加回答
举报
0/150
提交
取消