Don*_*n P 167 javascript foreach
如何进入Javascript Array.forEach()循环的下一次迭代?
例如:
var myArr = [1, 2, 3, 4];
myArr.forEach(function(elem){
if (elem === 3) {
// Go to "next" iteration. Or "continue" to next iteration...
}
console.log(elem);
});
Run Code Online (Sandbox Code Playgroud)
我真的很惊讶这不是一个问题 - 所以搜索没有任何结果,与建议的答案一样.MDN文档只提到完全打破循环,而不是转向下一次迭代.
rid*_*rid 294
您可以简单地return想跳过当前的迭代.
因为你在一个函数中,如果你return在做任何其他事情之前,那么你实际上已经跳过了return语句下面的代码的执行.
Chr*_*son 56
JavaScript的forEach与每个循环使用其他语言的方式略有不同.如果在MDN上读取,则表示按升序对数组中的每个元素执行一个函数.要继续下一个元素,即运行下一个函数,您只需返回当前函数而无需进行任何计算.
添加一个返回,它将进入循环的下一次运行:
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
return;
}
console.log(elem);
});Run Code Online (Sandbox Code Playgroud)
输出:1,2,4
只要在您的if语句内返回true
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
return true;
// Go to "next" iteration. Or "continue" to next iteration...
}
console.log(elem);
});
Run Code Online (Sandbox Code Playgroud)