如何将JavaScript代码中的.forEach方法改写为普通for循环?
问题解答
完全可以用for循环替换forEach实现完全相同的效果,两者的遍历逻辑没有本质差异,替换后的代码如下:
for (let i = 0; i < choices.length; i++) { const choice = choices[i]; const number = choice.dataset['number']; // 填充选项到HTML的choice-option节点中 choice.innerText = currentQuestion['choice' + number]; } // 原有后续逻辑保持不变 unusedQuestions.splice(questionIndex, 1); acceptAnswers = true;
效果说明
- 遍历逻辑和原代码完全一致:按顺序取出
choices中的每一个元素执行对应操作 - 业务逻辑没有改动:DOM赋值、数组裁剪、状态位赋值的效果和原代码完全相同
- 适用场景一致:即使
choices是querySelectorAll返回的NodeList类数组对象,该for循环也可以正常运行,不需要额外做类型转换
内容的提问来源于stack exchange,提问作者hannahatl
相关产品推荐
相关产品推荐

