【JavaScript ECMAScript】Iterator::Iterator.prototype.someインスタンスメソッドの使い方
Iterator.prototype.some()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Iterator.prototype.some()メソッドは、イテレーターが持つ要素の中に、特定の条件を満たすものが少なくとも一つ存在するかどうかを確認するために使用されるメソッドです。このメソッドは、引数としてテスト用のコールバック関数を受け取ります。そして、イテレーターの各要素に対して順番にそのコールバック関数を実行していきます。
もしコールバック関数が、いずれかの要素に対して一度でも真(true)を返した場合、Iterator.prototype.some()メソッドは直ちに処理を中断し、全体として真(true)を返します。これは、条件を満たす要素が一つでも見つかれば、残りの要素を確認する必要がないため、効率的な処理を実現します。逆に、イテレーターのすべての要素に対してコールバック関数を実行しても一度も真が返されなかった場合や、イテレーターに要素が一つも存在しなかった場合は、偽(false)を返します。
このメソッドは、例えば、一連のデータの中から特定の基準を満たす項目が一つでも存在するかどうかを素早くチェックしたい場合に非常に役立ちます。このメソッドを実行すると、元のイテレーターは消費され、それ以降は同じイテレーターから新しい要素を取得できなくなる点に注意が必要です。
公式リファレンス: Iterator.prototype.some()
構文(syntax)
1function* createSimpleIterator() { 2 yield 10; 3 yield 20; 4 yield 30; 5} 6 7const myIterator = createSimpleIterator(); 8 9const hasValueGreaterThanTwenty = myIterator.some(element => element > 20);
引数(parameters)
predicate
- predicate: function: 各要素に対して実行されるテスト関数。真(true)を返すと、some() メソッドは直ちに true を返して処理を終了します。
戻り値(return)
boolean
配列の要素のすべてが、指定されたテスト関数を満たす場合に true を返します。一つでも条件を満たさない要素が見つかった場合は false を返します。