JavaScript の Array で forEach したときに break するには

November 14, 2012

jQuery.each メソッドだと、return true で continue, return false で break できます。
しかし、node で普通に array.forEach で同じようにやろうとしたらできない。
node の実装つまり ECMAScript 5 においては、array.forEach に break 処理はない。代わりに some メソッドを使うと意図したことができることがわかった。

1
2
3
4
5
6
7
8
9
array.some(function(item){
if (item.isEmpty) {
return false; // continue
}

if (item.isLast) {
return true; // break
}
});

some メソッドは、要素に対して評価(コールバック)関数を実行し、true になるものが一つでもあれば true を返します。これが本来の用途です。

JavaScript

tilfin freelance software engineer