JavaScriptのeveryメソッドの使い方!

JavaScript

JavaScriptのeveryメソッドの使い方について書いています。
everyメソッドは配列から呼び出すことができるメソッドです。

配列の全ての要素が条件に合っているときにtrueが返ってきます。

JavaScriptのeveryメソッドとは?

everyメソッドは、配列のすべての要素に対して、指定したコールバック関数を実行します。
そして、その結果が全て合っていればtrueを返します。

条件を満たさない要素が一つでもあればfalseになります。

構文:

array.every(callback);
array.every(callback, thisArg); // thisArgは省略可能

パラメータ:
callback:配列の各要素に適用される関数、配列を評価する関数を渡す。
thisArg(省略可能):callback内で使用されるthis

戻り値:
– 全ての要素が条件を満たす場合はtrue、それ以外はfalse

everyメソッドを使って数値を判定する

配列要素の数値が、全て10より大きいかを判定します。

const numbers = [12, 15, 20, 25];
const result = numbers.every(number => number > 10);

console.log(result); // true

numbers変数が配列となっています。
このnumbers配列から、everyメソッドを呼び出すことができます。

everyメソッドに渡しているのが、配列の値を評価するための関数です。
numberに配列の値がひとつずつはいってきて、「12 > 10, 15 > 10, 20 > 10, 25 > 10」と全ての値を比較してくれます。

全ての値が条件に合っている場合は、trueが返ってきます。
上記の例では、全ての値があっているためtrueが返ります。

falseが返ってくるのは、下記のように条件に合わない値がひとつでもあるときです。

const numbers = [12, 15, 9, 25];
const result = numbers.every(number => number > 10);

console.log(result); // false

このコードは先ほどと同じですが、配列の「20」が「9」になっています。
条件として判定している10より低い値が入っているので、falseが返ってきます。

everyメソッドを使って文字列を判定する

everyメソッドを使って、配列の文字列の全ての要素に指定した文字が入っているか判定しています。

const fruits = ['orange', 'apple', 'peach'];
const search = (fruit) => {
  return fruit.includes('e');
}

const result = fruits.every(search);
console.log(result); // true

fruits配列に果物の名前を入れて、配列を作成しました。
次の行で、判定用の関数をsearchに定義しています。

そして、fruitsからeveryメソッドを呼び出して、search関数を渡しました。
search関数ではincludesを使って、文字列の中に「e」を含むかを判定しています。

配列要素の果物名全てに「e」が含まれるため、trueが返ってきます。

配列が空の場合は?

配列が空の場合、everyメソッドは常にtrueを返します。

const emptyArray = [];
const result = emptyArray.every(number => number > 10);

console.log(result); // true

emptyArray配列は空です。
everyメソッドを呼び出して、何を渡してもtrueが返ってきます。

おわりに

今回はJavaScriptのeveryメソッドについて書いていきました。
記事の内容をまとめると、下記のようになります。

・everyメソッドは配列から呼び出すことができるメソッド。
・everyメソッドを使うことで、配列の要素の全てが合っているか確認できる。
・配列の要素が、指定した判定関数に全てあてはまる場合にはtrueを返す。違う場合はfalseになる。

配列要素の全てに対して、forEachを使わずに判定できるため便利ですね。

コメント

タイトルとURLをコピーしました