[1,2,3].forEach(function(el) {
if(el === 1) break;
});
JavaScript の新しいforEach
メソッドを使用してこれを実行するにはどうすればよいですか? を試しましたがreturn;
、クラッシュし、反復処理を続行する以外に何も実行されません。return false;
break
break
return
ベストアンサー1
break
を中断する組み込み機能はありませんforEach
。実行を中断するには、何らかの例外をスローする必要があります。例:
var BreakException = {};
try {
[1, 2, 3].forEach(function(el) {
console.log(el);
if (el === 2) throw BreakException;
});
} catch (e) {
if (e !== BreakException) throw e;
}
JavaScript の例外はあまりきれいではありません。for
どうしても例外を内部で処理する必要がある場合は、従来のループの方が適切かもしれませんbreak
。
使用Array#some
代わりに、Array#some
:
[1, 2, 3].some(function(el) {
console.log(el);
return el === 2;
});
これが機能するのは、配列の順序で実行されたコールバックのいずれかが を返すとすぐにsome
が返され、残りの実行が省略されるためです。true
true
some
、その逆every
( で停止しますreturn false
)、および はすべて ECMAScript 第 5 版のメソッドであり、不足しているブラウザーforEach
の に追加する必要があります。Array.prototype