以下のコードが1と2を記録せずにfalseを返す理由を理解できません。戻り値がforEachスコープから外れておらず、firstLayerのスコープがfalseを返すのではないでしょうか?そうでなくても、forEachのスコープを壊すことさえありません。どのようにブレーク/ JavaScript関数内のループ関数から完全に戻ってきますか?
var arrayExample = [1,2,3];
function firstLayer (arr) {
arr.forEach(function (num) {
console.log(num);
if (num === 2) {return false;}
});
return true;
}
firstLayer(arrayExample);
//logs 1,2,3 and returns tru
電子
「どのように短絡するかArray.forEachはBreakを呼び出すのと同じですか?」(http://stackoverflow.com/questions/2641347/how-to-short-circuit-array-foreach-like-calling-break) – Abaddon666