🔍

【JavaScript】配列内の全要素が特定の条件を満たすか確認する

2024/04/28に公開

everyメゾットについて

everyメソッドは、配列内のすべての要素が指定したテスト関数を満たすかどうかをチェックするために使用されます。すべての要素が条件を満たす場合にtrueを、そうでない場合にfalseを返します。

everyのサンプルコード

配列内のすべての要素が数値型のstatusプロパティを持っているかどうかをeveryメソッドを使ってチェックする方法は以下の通りです。

処理の流れ(知りたい方はクリックしてください)

①データの準備: オブジェクトの配列dataを用意します。各オブジェクトにはidstatuscheckのプロパティが含まれています。
②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