初学者每次提到Array对象的时候有些烦人,有些方法是改变原数组的,有些则不改变原数组。 有趣的存在~forEach这个方法,或者说数组存储的数据本身 看两个例子: 例子一:
let obj = {'1':1} let oldArr = ['1',1,obj,true] oldArr.forEach((el)=>{ el = 1 }) console.log(oldArr)复制代码
let obj = {'1':1} let oldArr = ['1',1,obj,true] oldArr.forEach((el)=>{ if(typeof el == 'object'){ el['2']=2 } el = 2 }) console.log(oldArr)复制代码
let a = 1 let obj = {'1':1} let oldArr = ['1',1,obj,true,a] oldArr.forEach((el)=>{ if(typeof el == 'object'){ el['2']=2 } el = 2 }) a = 2 console.log(oldArr) 复制代码
let a = 1 let obj = {'1':1} let oldArr = ['1',1,obj,true,a] oldArr.forEach((el,index)=>{ // if(typeof el == 'object'){ // el['2']=2 // } oldArr[index] =2 }) console.log(oldArr)复制代码
总结:forEach方法里操作对象生效,想要操作里面的基本数据类型,就用arr[i]的形式直接操作数组。