🔍
【JavaScript】配列内の全要素が特定の条件を満たすか確認する
everyメゾットについて
every
メソッドは、配列内のすべての要素が指定したテスト関数を満たすかどうかをチェックするために使用されます。すべての要素が条件を満たす場合にtrue
を、そうでない場合にfalse
を返します。
everyのサンプルコード
配列内のすべての要素が数値型のstatus
プロパティを持っているかどうかをevery
メソッドを使ってチェックする方法は以下の通りです。
処理の流れ(知りたい方はクリックしてください)
①データの準備: オブジェクトの配列data
を用意します。各オブジェクトにはid
、status
、check
のプロパティが含まれています。
②everyメソッドの使用: every
メソッドを使用して、配列data
内の各オブジェクトのstatus
プロパティが数値型であるかをチェックします。
③条件のチェック: テスト関数data => typeof data.status === 'number'
は、status
プロパティが数値型であることをチェックします。
④全要素の検証: 配列内の全ての要素がテスト関数の条件を満たす場合、true
が返されます。
⑤結果の出力: 結果としてtrue
がコンソールに出力されます。
const data = [
{ id: 1, status: 1, check: false },
{ id: 2, status: 1, check: true },
{ id: 3, status: 2, check: false },
{ id: 4, status: 1, check: true },
];
const every = data.every(data => typeof data.status === 'number');
console.log(every); // true
実践的な応用例
フォーム入力の検証
フォームに入力されたすべてのデータが正しくフォーマットされているかをevery
で検証し、フォームの送信を管理します。
const formData = [
{ field: 'name', value: 'Alice', valid: true },
{ field: 'email', value: 'alice@example.com', valid: true },
{ field: 'age', value: '30', valid: true }
];
const isFormValid = formData.every(data => data.valid);
console.log(isFormValid ? 'フォームが正しく入力されました' : '入力エラーが存在します');
// "フォームが正しく入力されました" を出力
データセットの一貫性チェック
データベースから取得したデータセットが特定の品質基準を満たしているかをevery
を使って確認します。
const products = [
{ id: 1, name: 'Product A', quality: 'high' },
{ id: 2, name: 'Product B', quality: 'high' },
{ id: 3, name: 'Product C', quality: 'high' }
];
const isQualityConsistent = products.every(product => product.quality === 'high');
console.log(isQualityConsistent ? '全製品が高品質です' : '品質にばらつきがあります');
// "全製品が高品質です" を出力
Discussion