本記事では、JavaScriptで配列要素が全て条件を満たしているか確認する方法について解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
everyメソッドの使い方
配列要素が全て条件を満たしているか確認するには、everyメソッドを使用します。基本的な使い方は以下のとおりです。
let result = Array.every((value,index,array) => /* 条件 */);
構文解説
- result:boolean値が返される
- Array:対象の配列
- value(第一引数):配列要素
- index(第二引数):インデックス番号(添え字)
- array(第三引数):対象の配列
コールバック関数に渡される、value(第一引数)・index(第二引数)・array(第三引数)の中身を確認してみましょう。
let numArr = [10, 30, 50];
let result = numArr.every((value, index, array) => {
console.log(`value:${value}\nindex:${index}\narray:${array}`);
});
/* コンソールログ *
* value:10
* index:0
* array:10,30,50
*/
コンソールログを確認すると、第一引数のvalueには配列要素が、第二引数のindexにはインデックス番号(添え字)が、第三引数のarrayには対象の配列が代入されていることが分かります。
また、everyメソッドは一つでも条件に一致しなければループを抜けてしまうため、上記のようなコードは配列要素が何個あろうが1度しかループ処理されません。
実際に、everyメソッドを使用して配列要素が全て条件を満たしているか確認してみましょう。
let numArr = [10, 30, 50];
let result1 = numArr.every((value) => value < 60);
let result2 = numArr.every((value) => value < 40);
console.log(result1); // => true
console.log(result2); // => false
1つ目のeveryメソッドでは、配列要素が全て60未満の値か判定しています。配列に代入されている値は最大値が50なので全て条件を満たしています。そのためtrueが返されています。
2つ目のeveryメソッドでは、配列要素が全て40未満の値か判定しています。1つだけ40以上の数値があるため配列要素が全て条件を満たしていません。そのためfalseが返されています。