如:
var arr = [
{
id:1,
name: "张三"
}
]
arr.forEach(item => {
item = {id: 2,name:"李四"}
})
console.log(arr)
首先,以为会返回下面的数据
[{
id:2,
name: "李四"
}]
结果,返回的依然是最初的张三
原因:
item其实是一个新建的变量,它指向arr数组的一个项,赋值时我们知识改变了item的指向,并没有改变arr数组本身,所以会得到一个没有变化的数组。
修改方法:
item.id=2;item.name="李四"