プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • JavaScript
  • 【JavaScript】配列の便利メソッド「map」、「filter」、「find」、「r…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【JavaScript】配列の便利メソッド「map」、「filter」、「find」、「reduce」について

05.09

  • miyabisan2
  • コメントを書く

この記事は1分で読めます

mapメソッドとは?

既存の配列を加工して新しい配列を作成するためのメソッドです。

構文

1
2
3
let 新しい配列 = 配列.map(function(配列の要素){
  return 配列の要素の値;
});

ポイント

  • 既存の配列の内容を変えずに新しい配列に格納してくれます。

forEachとの違い

コールバック関数の中で必ずreturnをします。returnをした値が新しい配列の新しい要素の一つになります。

用途

  • 大量に項目があるオブジェクトの中から表示に必要な特定の項目のみ抽出して使いたいと言った場合に使います。

例

計算結果を元に新しい配列を作る

1
2
3
4
5
let nums = [1,2,3];
let squared = nums.map(function(num){
  return num * num;
});
squared; //[1,4,9]

オブジェクトから特定の要素を抜き出し配列を作る。

1
2
3
4
5
6
7
8
let cats = [
  { name:'太郎',kind:'三毛猫' },
  { name:'花子',kind:'ペルシャ猫' }
]
let kinds = cats.map(function(cat){
  return cat.kind;
});
kinds; //['三毛猫','ペルシャ猫']

filterメソッドとは?

用途

一覧表示されているデータの中から特定のデータを抽出したい場合等に使います。

構文

1
2
3
配列.filter(function(配列の要素){
  return true(新しい配列の要素)/false(配列の要素からは除外)
});

例

オブジェクトの配列から条件に合うオブジェクトのみ抽出する。

1
2
3
4
5
6
7
8
9
let cats = [
  { name:'太郎',kind:'三毛猫' },
  { name:'花子',kind:'ペルシャ猫' },
  { name:'次郎',kind:'三毛猫' }
]
let kinds = cats.filter(function(cat){
  return cat.kind === '三毛猫';
});
kinds; //[{"name":"太郎","kind":"三毛猫"},{"name":"次郎","kind":"三毛猫"}]

findメソッドとは?

配列から最初に見つかった要素を値として返します。

用途

  • サーバーからAPIで取得した一覧データから一意の特定のデータを抽出するために使用します。

例

1
2
3
4
5
let animals = ['犬','猫','ライオン']
let pet = animals.find(function(animal){
  return animal === '犬';
});
pet; //犬

reduceメソッド

構文

1
2
3
4
5
let numbers = [1,2,3,5];
 
配列.reduce(function(「計算結果」,配列の要素){
  return 次のループの「計算結果」の値;
},「計算結果」の初期値)

例

数字の計算をする場合

1
2
3
4
5
let numbers = [1,2,3,5];
 
numbers.reduce(function(sum,number){
  return sum + number;
},0) //11

配列を構築する場合

mapでも同様のことをもっと簡潔にできますが、reduceでも実装可能です。

1
2
3
4
5
6
7
8
9
10
let cats = [
  { name:'太郎',kind:'三毛猫' },
  { name:'花子',kind:'ペルシャ猫' },
  { name:'次郎',kind:'三毛猫' }
]
let kinds = cats.reduce(function(arr,cat){
  arr.push(cat.kind);
  return arr;
},[]);
kinds; //["三毛猫","ペルシャ猫","三毛猫"]

スポンサーリンク
  • 2020 05.09
  • miyabisan2
  • コメントを書く
  • JavaScript
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 04.29

    【JavaScript】「シンボル」、「イテレーター」、「ジェネレータ」について

  2. 2018 04.12

    【JavaScript】「コールバック関数」や、「コールバック地獄」について

  3. 2022 09.28

    【JavaScript】「関数オブジェクト」、「関数式」、「ファクトリ関数」、「コンストラクタ関数」、「アロー関数」

  4. 2023 09.28

    StoryBookのインタラクションテスト

  5. 2020 04.26

    【JavaScript】「配列」、「lodash」の活用

  6. 2018 04.29

    【JavaScript】動作の仕組み(非同期、シングルスレッド、イベント駆動等)

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【JavaScript】配列の便利メソッド「forEa…

【JavaScript】配列の便利メソッド「every…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー