NU:LOGiC Logo

【JavaScript】every()を使用して配列の全ての要素が条件を満たすかチェックする方法

【JavaScript】every()を使用して配列の全ての要素が条件を満たすかチェックする方法

「every()」は、JavaScriptの配列要素を検証するための便利なメソッドで、全ての要素が指定の条件を満たす場合にtrueを返します。コールバック関数を用いて条件を指定し、配列内の要素に対して柔軟なチェックが可能です。また、「some()」メソッドとは異なり、全ての要素が条件を満たすかどうかを確認します。この記事では、初心者にも理解しやすい使い方や注意点を詳しく解説しています。

3行で要約すると

  • every()は、配列の全ての要素が特定の条件を満たしているかを確認するメソッドです。
  • コールバック関数を引数として受け取り、その関数がtrueを返すかどうかで判定を行います。
  • some()every()の類似メソッドで、1つ以上の要素が条件を満たしているかを確認します。

「every()」の基本的な使い方

「every()」とは?

every()は、配列のすべての要素が特定の条件を満たしているかどうかを確認するためのメソッドです。このメソッドがtrueを返す場合、全ての要素が条件を満たしています。逆にfalseが返された場合、条件を満たさない要素が存在します。

例えば、配列内の全ての数字が10未満かどうかを確認する場合は以下のようにします。

const numbers = [1, 2, 3, 4, 5];
const isAllLessThan10 = numbers.every(num => num < 10);
console.log(isAllLessThan10); // true

「every()」のコールバック関数

every()は、コールバック関数を引数として受け取ります。この関数は配列の各要素に対して実行され、trueまたはfalseを返します。

コールバック関数には、3つの引数を渡すことができます。

  1. element - 現在の要素
  2. index - 現在の要素のインデックス
  3. array - メソッドが呼び出されている配列
const numbers = [1, 2, 3, 4, 5];
const isAllEven = numbers.every((num, index, arr) => num % 2 === 0);
console.log(isAllEven); // false

「every()」の使用例4パターン

配列の全ての要素が偶数かどうかを確認

const evenNumbers = [2, 4, 6, 8, 10];
console.log(evenNumbers.every(num => num % 2 === 0)); // true

配列の全ての要素が特定の文字列を含むか確認

const words = ["apple", "banana", "cherry"];
console.log(words.every(word => word.includes("a"))); // true

配列の全ての要素が特定の長さ以上か確認

const names = ["Alice", "Bob", "Charlie"];
console.log(names.every(name => name.length >= 3)); // true

配列の全ての要素が特定の値以上か確認

const scores = [85, 90, 78, 92, 88];
console.log(scores.every(score => score >= 80)); // false

「every()」と「some()」

「some()」とは?

some()メソッドは、配列の中の少なくとも1つの要素が特定の条件を満たしているかどうかを確認するためのメソッドです。

const numbers = [1, 2, 3, 4, 15];
const hasNumberGreaterThan10 = numbers.some(num => num > 10);
console.log(hasNumberGreaterThan10); // true

「every()」と「some()」の違い

  • every()は、全ての要素が条件を満たすかを確認。
  • some()は、少なくとも1つの要素が条件を満たすかを確認。
const array = [1, 2, 3, 4, 5];
console.log(array.every(num => num > 0)); // true
console.log(array.some(num => num > 3));  // true

「every()」を使用する際の注意点

空の配列に対する挙動

空の配列にevery()を使用すると、常にtrueを返します。なぜなら、空の配列には条件を満たさない要素が存在しないためです。

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

「every()」の使い方まとめ

JavaScriptのevery()メソッドは、配列のすべての要素が指定された条件を満たしているかどうかをチェックする強力なツールです。しかし、使用する際には空の配列の挙動などの注意点も理解しておくとよいでしょう。適切に使用することで、コードの効率や可読性を高めることができます。