配列内の要素すべてが条件に一致しているかチェックするArray.every()

ある文字列が複数の条件にマッチするか調べる良い方法がないかと考えていたら、ARRAY.every()を使うのが一番スマートのようでしたので備忘録。

every()、基本の使い方

// Arrayの要素すべてが条件を満たしているかチェック
Array.every(条件); //bool

配列内の要素すべてが条件を満たしていればtrue、1つでも一致しなければfalseを返します。

everyに似たsomeメソッドを使用すると、1つでも条件一致すればtrueを返しますので合わせて覚えておきたいです。

複数の文字列に一致するかをチェックする

今回のきっかけとなった複数文字列チェックをeveryで行うとすると以下のようになります。

// チェック対象の文字列
const lorem = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'

// テストワード
const checks =[ "cing" , "did" , "temp" ]

// 対象(lorem)が配列要素(テストワード)全て含んでいればTrue
const TEST = checks.every( word => lorem.includes(word) );
console.log( TEST ); // true

上の流れを関数化しておいてfilter()などと一緒につかうと複数条件での絞り込みがしやすく便利です。

タイトルとURLをコピーしました