let arr=[ {id: 1 ,username: "张三" ,age: 18 ,sex: "男" }, {id: 2 ,username: "李四" ,age: 18 ,sex: "男" }, {id: 3 ,username: "王五" ,age: 45 ,sex: "男" }, {id: 4 ,username: "赵六" ,age: 16 ,sex: "男" } ] //定义一个新变量result let result=arr.find((item)=>{ return item.id== 1 ; }) //对result的age+1 result.age += 1 //为什么arr中的数据会发生改变呢? console.log(arr) |
我定义了一个新的变量result,并对result进行操作,为什么arr的内容会改变呢?
它还就该会改变,JS规定的。
建议看一下js的深拷贝与浅拷贝