之前一直都理解错了,以为forEach可以更改原数组里的数据,举个例子:
var a = [1,2,3,4,5];
a.forEach(item =>{
item = item*2
})
console.log...(a); // a = [1,2,3,4,5]
var b = [{b:1},{b:2},{b:3}];
b.forEach(item =>{
item.b = item.b*2
})
console.log...里的数据是引用类型,基本类型在内存中的存在形式是散的,并没有地址,所以你虽然*2了但是你不知道是哪个*2了,如果说要a里的数据都*2的话,你需要这样写:
var a = [1,2,3,4,5];
a.forEach