关于 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) }) 网上都查过了, 找不到 期望有大佬 能贴出源码

阅读量:17

点赞量:0

问AI
参考 MDN 中关于 forEach 的介绍部分。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241116/34641985f2053196f8b6524de02f8f40.png) * "Array.prototype.forEach() - JavaScript | MDN" (https://link.segmentfault.com/?enc=WKHDeOWovaj5EHS0Dhtz2g%3D%3D.aXFqC4Pu3Jpi5%2B3XVKPLpXGlv8mQP0rBoK%2BdGVX3RxxRiNK1H%2Bh5hUqN8oKceQN0y9IogtHW91QSjgX6IRvwIjTcOgQ8YJ5qtyjc5DxJ7tSsKO%2FxuFCJSy7Zr7lboCMz)