【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

JavaScriptで条件に一致した配列要素だけ取得するfilterメソッドの使い方

本記事では、JavaScriptで条件に一致した配列要素だけ取得するfilterメソッドの使い方について解説しています。

JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
総合評価
( 5 )
メリット
  • 誰でも分かるように嚙み砕いて説明してくれる
  • アニメーションの知識が深く学べる
  • 1つのWebサイトを作りながら学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

filterメソッドの使い方

条件に一致した配列要素だけ取得したい場合は、filterメソッドを使用します。基本的な使い方は以下のとおりです。

let result = Array.filter((value,index,array) => /* 条件 */);
構文解説
  • result:条件に一致した配列要素のみ返される
  • Array:対象の配列
  • value(第一引数):配列要素
  • index(第二引数):インデックス番号(添え字)
  • array(第三引数):対象の配列

コールバック関数に渡される、value(第一引数)・index(第二引数)・array(第三引数)の中身を確認してみましょう。

let numArr = [10, 20];

let result = numArr.filter((value, index, array) => {
  console.log(`value:${value}\nindex:${index}\narray:${array}`);
});

/**
 * value:10
 * index:0
 * array:10,20
 *
 * value:20
 * index:1
 * array:10,20
 */

コンソールログを確認すると、第一引数のvalueには配列要素が、第二引数のindexにはインデックス番号(添え字)が、第三引数のarrayには対象の配列が代入されていることが分かります。

実際に、filterメソッドを使用して条件に一致した配列要素だけ取得してみましょう。

let numArr = [10, 50, 30, 20, 40];

let result = numArr.filter((value) => 30 <= value);
console.log(result); // => [50, 30, 40]

コールバック関数内の処理は、配列要素が30以上か判定しています。30以上だった配列要素はresultに順に代入されていきます。コンソールログを確認すると、[50, 30, 40]のみが代入されており条件を満たしていない[10,20]は除外されていることが分かります。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次