読者です 読者をやめる 読者になる 読者になる

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

Node JavaScript

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

array.some(function(item){
  if (item.isEmpty) {
    return false; // continue
  }

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

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