【JavaScript】Arrayクラスのevery()メソッドについて

JavaScriptのevery()メソッドは、配列内のすべての要素が指定された条件を満たしているかどうかを確認するための便利なメソッドです。このメソッドを使うことで、配列内の要素がある条件を満たしているかどうかを簡単に確認することができます。本記事では、every()メソッドの基本的な使い方から応用例まで詳しく解説します。

目次

基本構文

every()メソッドの基本構文は以下の通りです:

array.every(callback(element, index, array), thisArg);
  • callback: 各要素に対して実行される関数。以下の引数を受け取ります:
    • element: 現在処理されている要素。
    • index (オプション): 現在処理されている要素のインデックス。
    • array (オプション): every()メソッドが呼び出された配列。
  • thisArg (オプション): callbackが参照するthisの値。

every()メソッドは、すべての要素が条件を満たす場合にtrueを返し、そうでない場合はfalseを返します。

基本的な使い方

条件を満たすかどうかの確認

const array = [1, 2, 3, 4, 5];

const isEven = (number) => number % 2 === 0;

const allEven = array.every(isEven);
console.log(allEven); // 出力: false

この例では、isEven関数を使って各要素が偶数かどうかを確認し、すべての要素が偶数であるかどうかをevery()メソッドで判定しています。

要素のインデックスを使用する

every()メソッドのコールバック関数には、第2引数として要素のインデックスを取ることができます。

const array = [1, 2, 3, 4, 5];

const isIndexSmallerThanValue = (value, index) => index < value;

const result = array.every(isIndexSmallerThanValue);
console.log(result); // 出力: true

この例では、各要素の値よりもインデックスが小さいかどうかを確認し、すべての要素がこの条件を満たしているかどうかをevery()メソッドで判定しています。

コールバック関数内でthisを使用する

every()メソッドの第2引数にthisArgを指定することで、コールバック関数内でthisを使用することができます。

const context = {
  threshold: 10
};

const array = [12, 14, 8, 20, 6];

const isOverThreshold = function(element) {
  return element > this.threshold;
};

const result = array.every(isOverThreshold, context);
console.log(result); // 出力: false

この例では、contextオブジェクト内のthresholdプロパティを使って、各要素が閾値を超えているかどうかを確認しています。

注意点

  • every()メソッドは、すべての要素が条件を満たす場合にのみtrueを返します。途中で条件を満たさない要素が見つかった場合、それ以降の要素はチェックされません。

まとめ

every()メソッドは、配列内のすべての要素が指定された条件を満たしているかどうかを確認するための便利なメソッドです。この記事を参考にして、every()メソッドを効果的に活用してください。

目次