forEach 终止循环
谬误用法一
: 应用 break( 会报错
)
var array = ["第一","第二","第三","第四"];
// 间接就报错了
array.forEach(function(item,index){if (item == "第三") {break;}
alert(item);
});
谬误用法二
: 应用 return false( 会跳过以后项, 持续循环
)
相当于 for 循环中的 continue
var array = ["第一","第二","第三","第四"];
// 会遍历数组所有元素,只是执行跳过 "第三",return false 上面的代码不再执行而已
array.forEach(function(item,index){if (item == "第三") {return false;}
console.log(item);// "第一" "第二" "第四"
});
console.log("以下代码")// 以下代码
正确用法: 使用 try catch(抛出异样
)
try {var array = ["第一","第二","第三","第四"];
// 执行到第 3 次,完结循环
array.forEach(function(item,index){if (item == "第三") {throw new Error("第三");
}
console.log(item);// 第一 第二
});
} catch(e) {if(e.message!="第三") throw e;
};
// 上面的代码不影响继续执行
console.log("下方代码");// 下方代码
参考原文