关于 js forEach 的疑问?
以下代码在 chrome
输出 1,2,3
const arr = [1,2,3]
arr.forEach(i=>{
arr.push(i)
console.log(i)
})
这个在网上找到了,forEach
一开始就已经获取了 数组长度
The range of elements processed by forEach is set before the first call to callbackfn. Elements which are appended to the array after the call to forEach begins will not be visited by callbackfn.
但是怎么解释以下代码 只输出了 1
?
const arr = [1,2,3]
arr.forEach(i=>{
if(i===1) arr.length = 0
console.log(i)
})
网上都查过了, 找不到期望有大佬 能贴出源码
回复
1个回答
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容