ある文字列が複数条件にマッチするか調べる良い方法がないかと考えていたら、every()メソッドを使うのが一番スマートのようでしたので備忘録。
every()、基本の使い方
// Arrayの要素すべてが条件を満たしているかチェック
Array.every(条件)
配列内の要素すべてが条件を満たしていれば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)が配列要素(チェック項目)を全て含んでいるかチェック
checks.every( value => lorem.includes(value) ); // true
上の流れを関数化しておいてfilter()などと一緒につかうと複数条件での絞り込みがしやすく便利です。