JavaScript入門 #10 - 配列メソッドmap/filter/find

入門 | 10分 で読める | 2026.06.14

公式ドキュメント

このシリーズについて

「JavaScript入門」第10回です。今回は、配列を便利に扱うメソッドを学びます。

配列メソッドとは

配列メソッドは、配列に対して用意されている操作です。繰り返し、変換、絞り込み、検索を短く書けます。

最初に覚える配列メソッドは、mapfilterfind の3つです。

Step 1: forEachで順番に処理する

forEach は、各要素に対して処理を実行します。

const names = ["Taro", "Yuki", "Saki"];

names.forEach((name) => {
  console.log(`${name}さん`);
});

戻り値を作る目的ではなく、表示やログ出力のような処理に向いています。

Step 2: mapで新しい配列を作る

map は、各要素を変換して新しい配列を作ります。

const prices = [100, 200, 300];

const pricesWithTax = prices.map((price) => {
  return price * 1.1;
});

console.log(pricesWithTax);

元の prices は変更されません。

Step 3: filterで条件に合うものだけ残す

filter は、条件に合う要素だけを集めた新しい配列を作ります。

const scores = [45, 80, 62, 90];

const passedScores = scores.filter((score) => {
  return score >= 60;
});

console.log(passedScores);

Step 4: findで1件だけ探す

find は、条件に合う最初の要素を返します。

const users = ["taro", "yuki", "saki"];

const foundUser = users.find((user) => {
  return user === "yuki";
});

console.log(foundUser);

見つからない場合は undefined になります。

Step 5: someとeveryを使う

some は1つでも条件に合えば trueevery はすべて条件に合えば true です。

const scores = [80, 90, 70];

console.log(scores.some((score) => score >= 90));
console.log(scores.every((score) => score >= 60));

使い分け表

やりたいこと使うメソッド戻り値
全件に処理するforEachundefined
変換した配列を作るmap新しい配列
条件で絞るfilter新しい配列
1件探すfind要素または undefined
1件でもあるかsome真偽値
全件満たすかevery真偽値

練習

array-methods.js を作り、商品価格を税込にしてから高額商品だけを残します。

const prices = [800, 1200, 3000];

const result = prices
  .map((price) => price * 1.1)
  .filter((price) => price >= 1000);

console.log(result);

ポイント: 配列メソッドはつなげて書けます。ただし、長くなりすぎる場合は途中結果を変数に分けます。

よくあるエラー

困る状態よくある原因確認する場所
undefined の配列になるmapreturn 忘れコールバック関数
1件だけ欲しいのに配列になるfilter を使ったfind を使う
元配列が変わると思ったmap/filter は新配列を返す戻り値を変数に入れる

次のステップ

JavaScript入門 #11 - オブジェクトの基本 で、名前付きのデータをまとめる方法を学びます。

まとめ

配列メソッドを使うと、繰り返し処理を目的別に書けます。表示なら forEach、変換なら map、絞り込みなら filter、1件検索なら find をまず使い分けます。

参考リソース

← 一覧に戻る
PR
PR
PR
PR