按照各方法的定义,以下迭代方法应该都能对数组中的每一项运行传入函数,但是://对数组进行迭代//for方法let b=[1,2,3]for(let i=0,len=b.length;i<len;i++){
b[i]*=2
}console.log(b) //[2,4,6]//forEach方法...
b.forEach(function(i,j){
b[j]*=2
})
...//[2,4,6]//for in方法...
let c=Object.keys(b)for(let i in c){
b[i]*=2
}
...//[2,4,6]//for of方法...
for(let i of b){
i*=2
}
...//[1,2,3]可以看到for of不会修改原数组并返回,参考诸多文档发现都只提到遍历添加事件,目前只能在for of上使用额外方法才能实现数组遍历修改.最后希望各位答主能给出实现原理角度的提示分析,谢谢!
添加回答
举报
0/150
提交
取消