js forEach遍历修改对象的问题
c
const arr1 =
{ id: 1, value: 1 },
{ id: 2, value: 2 },
forEach 里面对象都是引用关系,所以第一个 forEach 修改对象的值是实际修改了内存地址中真实的对象,可以简单理解成一个快捷方式,另一个是真实的文件,所以修改快捷方式中的属性实际就是修改真实文件。但第二个 forEach 相当于替换了 item 指向到一个新的内存地址,即原来 item 是一个快捷方式指向对应对象的内存地址,而你将这个快捷方 式换成另一个新的对象,那实际是没有做任何修改的,而是创建了一个新的对象。