forEach()会改变原始的数组的值,而map()会返回一个全新的数组,原本的数组不受到影响。
map到底能不能改变原数组??
let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(num => num * 2).filter(num => num > 5);
// arr2 = [6, 8, 10]
map不改变数值型数组,上面例子打印arry依然是[1,2,3,4,5]
但是map能改变对象型数组,下面例子打印arry,每个item的on会改变。
let arr2 = this.arry.map((item,index)=>{
if(indexCheck == index){
item.on = true
}else{
item.on = false
}
})