【发布时间】:2021-12-05 08:06:53
【问题描述】:
let arr = [{ age: 3 }, { age: 5 }, { age: 6 }, { age: 7 }];
let exists = arr.find(x => x.age < 4);
exists.age += 1;
console.log(arr);
//output is [{age:4},{age:5},{age:6},{age:7}];
在上面的示例中,我正在更新 find 方法返回的结果,但它也更改了原始数组的值,为什么会这样?
【问题讨论】:
-
删除
exists.age += 1; -
因为你的修改对象...
exists.age += 1;
标签: javascript arrays higher-order-functions