カテゴリ: JavaScript 更新日: 2025/10/04

JavaScriptの配列をループする方法!初心者でもわかるforEach・map・filterの違いと使い方

JavaScriptの配列をループする方法(forEach, map, filter)を比較解説
JavaScriptの配列をループする方法(forEach, map, filter)を比較解説

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで配列の中のデータを1つずつ処理したいんですけど、どうやってやるんですか?」

先生

「配列をループ(くり返し処理)するには、forEachmapfilterというメソッドがありますよ。」

生徒

「メソッドって何ですか?それぞれどんな違いがあるんですか?」

先生

「メソッドというのは、ある目的を果たすための『命令』のようなものです。それぞれの使い方と違いを、わかりやすい例を使って説明していきますね!」

1. JavaScriptの「配列」とは?

1. JavaScriptの「配列」とは?
1. JavaScriptの「配列」とは?

まずは基本の「配列」から説明しましょう。JavaScript(ジャバスクリプト)における配列とは、複数のデータを1つにまとめて保存できる仕組みのことです。

たとえば、りんご・バナナ・みかんという3つの果物があるとします。これを1つの箱に入れて「果物リスト」として扱いたいときに配列を使います。


const fruits = ["りんご", "バナナ", "みかん"];

このように、[]の中にデータをカンマ(,)で区切って並べると、配列が作れます。

2. forEachで配列の中身を1つずつ表示する

2. forEachで配列の中身を1つずつ表示する
2. forEachで配列の中身を1つずつ表示する

forEach(フォーイーチ)は、配列の中の要素を1つずつ順番に処理するメソッドです。
「全部の果物を1つずつ表示してね」といった使い方に向いています。


const fruits = ["りんご", "バナナ", "みかん"];

fruits.forEach(function(item) {
  console.log(item);
});

実行すると、次のように表示されます。


りんご
バナナ
みかん

ポイント: forEachは「配列を処理するけど、結果を新しく作りたいわけじゃない」ときに使います。

3. mapは配列を「変換」して新しい配列を作る

3. mapは配列を「変換」して新しい配列を作る
3. mapは配列を「変換」して新しい配列を作る

map(マップ)は、配列の中身を「変換」して、新しい配列を作りたいときに使います。

たとえば、「すべての果物の名前の後ろに『を食べました』という文字を付けたい」ときなどです。


const fruits = ["りんご", "バナナ", "みかん"];

const eatenFruits = fruits.map(function(item) {
  return item + "を食べました";
});

console.log(eatenFruits);

["りんごを食べました", "バナナを食べました", "みかんを食べました"]

ポイント: mapは「元の配列を使って、内容を変えて新しい配列を作りたい」場合に便利です。

4. filterで条件に合うものだけを取り出す

4. filterで条件に合うものだけを取り出す
4. filterで条件に合うものだけを取り出す

filter(フィルター)は、「条件に合うデータだけを取り出す」ためのメソッドです。

たとえば、「5文字以上の果物の名前だけを取り出したい」といったときに使います。


const fruits = ["りんご", "バナナ", "みかん", "ドラゴンフルーツ"];

const longFruits = fruits.filter(function(item) {
  return item.length >= 5;
});

console.log(longFruits);

["バナナ", "みかん", "ドラゴンフルーツ"]

ポイント: filterは「条件で絞り込みたい」ときに使います。

5. forEach・map・filterの違いを表で比較!

5. forEach・map・filterの違いを表で比較!
5. forEach・map・filterの違いを表で比較!
メソッド名できること新しい配列を作るか?
forEach配列を1つずつ処理(表示・計算など)×(作らない)
map配列の中身を変えて新しい配列を作る〇(作る)
filter条件に合うデータだけを取り出す〇(作る)

6. よくある質問と注意点

6. よくある質問と注意点
6. よくある質問と注意点
  • Q1:「forEachの中でreturnしたのに値が返らないのはなぜ?」
    forEachは何も返しません。returnは使えても、返ってくるものはありません。
  • Q2:「mapやfilterを使うとエラーになることがあるんですけど?」
    → 配列ではないものに対してmapfilterを使うとエラーになります。まずconsole.log(データ名)で中身を確認しましょう。
  • Q3:「どれを使えばいいかわからない…」
    → 「表示だけしたい」→forEach
    「変換して新しい配列が欲しい」→map
    「条件に合うものだけ取り出したい」→filter
    という風に使い分けると覚えやすいです!

7. 実用例:値段が高い商品だけを取り出す

7. 実用例:値段が高い商品だけを取り出す
7. 実用例:値段が高い商品だけを取り出す

もう少し実用的な例も見てみましょう。以下のような商品リストがあるとします。


const items = [
  { name: "ノート", price: 100 },
  { name: "ボールペン", price: 300 },
  { name: "高級ペン", price: 1500 },
  { name: "消しゴム", price: 80 }
];

const expensiveItems = items.filter(function(item) {
  return item.price >= 500;
});

console.log(expensiveItems);

[
  { name: "高級ペン", price: 1500 }
]

このように、filterを使えば、「ある条件に当てはまるものだけ取り出す」ことができます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptでパスエイリアスを設定する方法!baseUrlとpathsでコードをスッキリ整理
New2
JavaScript
JavaScriptのfor文の書き方を初心者向けにやさしく解説
New3
JavaScript
JavaScriptの関数でよくあるエラーとその解決法まとめ
New4
JavaScript
JavaScriptのイベント処理でよくあるエラーとその対処法
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのマウスイベントの使い方(click, mouseoverなど)
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptのtoStringとString関数の違いを初心者向けに解説
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptの純粋関数(pure function)と副作用の違いを理解しよう
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.6
Java&Spring記事人気No6
JavaScript
JavaScriptで文字列をforループで1文字ずつ処理する方法!初心者向け解説
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptのDOMContentLoadedとloadイベントの違いを理解しよう
No.8
Java&Spring記事人気No8
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】