こんにちは、AKデザインの中の人です。
普段何気なく使っているものでも、仕組みや背景を知ると見え方が変わることがあります。
今回は「JavaScriptのmapとfilterを使いこなそう!初心者向けガイド」について掘り下げてみます。
JavaScriptのコードを書く際、配列操作は非常に重要です。特にmapとfilterは、データを簡単に変換・抽出するための強力なツールです。このガイドでは、それぞれのメソッドの基本から実務での利用までを解説します。
知っているようで意外と説明できない部分もあるテーマですので、基本から順番に整理していきましょう。
\n\n
導入・全体像
JavaScriptにおける配列操作は、データを扱う上で非常に重要な技術です。その中でもmapとfilterは、特に多くのシーンで使用されます。この2つのメソッドは、配列を操作する際の基本的なツールであり、使い方をマスターすることで効率的なコーディングが可能になります。
この記事では、mapとfilterのそれぞれの特徴や使い方を、具体的なコード例を交えて解説します。また、実務における活用法や注意点にも触れますので、ぜひ最後までご覧ください。
このセクションでは、mapとfilterの基本的な使い方だけでなく、実務における具体的な適用例についても触れていきます。例えば、mapを使用することで配列内のオブジェクトから特定のプロパティだけを抽出することができます。これにより、必要なデータを効率的に得ることが可能になります。
一方で、filterは条件に合った要素だけを抽出するのに非常に便利です。例えば、データベースから取得したユーザー情報の中から、特定の条件を満たすユーザーのみを取得したい場合などです。以下の点を考慮することで、より効果的に用途を掘り下げることができます。
- パフォーマンスに注意:大きな配列に対して使用すると、処理速度が影響を受けることがあります。
このように、mapとfilterは単にデータを加工するためだけでなく、全体のコーディング効率を向上させるための強力なツールです。次のセクションでは、具体的なコード例を交えてさらに詳しく解説していきます。
基本の考え方
関連動画をピックアップ!
まずは、mapとfilterそれぞれの基本的な動作について理解しましょう。
mapメソッド
mapメソッドは、与えられた配列の各要素に対して指定した関数を適用し、新しい配列を生成します。例えば、数値の配列を2倍にする処理を考えてみましょう。
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
この例では、元の配列numbersの各要素に2を掛けた新しい配列doubledが生成されています。
filterメソッド
次にfilterメソッドについて見てみましょう。filterは、指定した条件を満たす要素だけを抽出した新しい配列を生成します。例えば、偶数だけを抽出する処理は以下のように書けます。
const numbers = [1, 2, 3, 4, 5, 6];
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4, 6]
ここでは、既存の配列numbersから偶数のみを抽出し、新しい配列evensを作成しました。
実務での見方や例
mapとfilterを実際の業務でどのように使うかを考えてみましょう。特にデータ処理やAPIからのデータ受信時など、役立つ場面が多くあります。
APIからのデータ処理
例えば、fetch APIを使ってサーバーからのデータを取得し、それをmapやfilterで処理するシナリオを考えます。
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
const doubledValues = data.map(item => item.value * 2);
const filteredValues = data.filter(item => item.isActive);
console.log(doubledValues);
console.log(filteredValues);
});
この例では、APIから取得したデータに対してmapで値を2倍にし、filterでアクティブなアイテムのみを抽出しています。実務でもこのようなデータ処理は日常的に行われています。
使いどころや注意点
mapとfilterは非常に便利ですが、使う際にはいくつかの注意点があります。
メモリ使用量の考慮
新しい配列を生成するため、mapやfilterを使うとメモリを消費します。大きなデータセットを扱う時は、必要に応じて仕組みを考え直すことが大切です。例えば、forEachメソッドやreduceメソッドを利用することで、メモリを節約できる場合もあります。
チェーンの活用
mapとfilterはチェーンして使うことも可能です。たとえば、以下のように書くことで、まずfilterで条件を満たすものを抽出し、その後mapで変換を行うことができます。
const numbers = [1, 2, 3, 4, 5, 6];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2);
console.log(result); // [4, 8, 12]
チェーンを使うことで、コードをコンパクトにまとめることができ、可読性が高まります。ただし、過度にネストしないように注意が必要です。
関連動画をピックアップ!

まとめ
JavaScriptのmapとfilterについて解説しました。これらのメソッドは配列操作の基本であり、データの変換や抽出を非常に効率よく行えます。具体例を通じて、それぞれの用途や特徴を見てきました。実務においても、APIデータの処理や、大量データのフィルタリングなど幅広いシーンで活用することが可能です。
mapとfilterをしっかり理解し、目的に応じて使いこなすことで、より効果的なJavaScriptプログラミングができるようになるでしょう。コーディングを進める際には、これらのメソッドをぜひ活用してください。
