JavaScriptで配列の全要素を検証する必要がある場面は多くあります。そんなとき便利なのが`every()`メソッドです。この記事では、`every()`メソッドの使い方を実践的なコード例とともに解説します。

every()メソッドとは

`every()`メソッドは、配列のすべての要素が指定された条件を満たすかどうかをテストするメソッドです。すべての要素が条件を満たす場合は`true`を、1つでも条件を満たさない要素がある場合は`false`を返します。

基本的な使い方

const numbers = [2, 4, 6, 8, 10];
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // true(すべての数が偶数)

const mixedNumbers = [2, 4, 5, 8, 10];
const allEven2 = mixedNumbers.every(num => num % 2 === 0);
console.log(allEven2); // false(5が偶数ではない)

実践的な使用例

1. オブジェクト配列の検証

const users = [
  { name: 'John', age: 20 },
  { name: 'Jane', age: 22 },
  { name: 'Bob', age: 19 }
];

// 全ユーザーが18歳以上か確認
const allAdults = users.every(user => user.age >= 18);
console.log(allAdults); // true

2. 文字列配列の検証

const passwords = ['Pass123', 'Secret456', 'Strong789'];

// すべてのパスワードが6文字以上か確認
const validPasswords = passwords.every(pass => pass.length >= 6);
console.log(validPasswords); // true

3. 数値範囲の検証

const scores = [85, 92, 78, 95, 88];

// すべての点数が合格点(70点以上)か確認
const allPassed = scores.every(score => score >= 70);
console.log(allPassed); // true

注意点

1. 空の配列に対して`every()`を使用すると、常に`true`を返します。

const emptyArray = [];
console.log(emptyArray.every(x => x > 0)); // true

2. `every()`メソッドは最初に`false`となる要素で処理を中断します。

const numbers = [2, 4, 5, 6, 8];
let count = 0;
numbers.every(num => {
  count++;
  return num % 2 === 0;
});
console.log(count); // 3(5で処理が中断)

every()メソッドの活用シーン

  • フォームバリデーション
  • データの整合性チェック
  • 条件付きの処理実行
  • 配列の要素が特定の条件を満たすかの確認

まとめ

`every()`メソッドは、配列の全要素が特定の条件を満たすかどうかを簡単に確認できる便利なメソッドです。特に以下の場面で活用できます:

  • データの検証
  • 条件チェック
  • バリデーション処理

適切に使用することで、コードの可読性と保守性を向上させることができます。