【Node.js24.x】Array::flatMap()メソッドの使い方
flatMapメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
flatMapメソッドは、配列の各要素に対して指定されたコールバック関数を適用し、その結果を1段階平坦化して新しい配列を生成するメソッドです。このメソッドは、まず各要素を変換するmap()メソッドのように機能し、次にその変換結果の配列を1レベル深く展開するflat()メソッドの機能を組み合わせたものです。これにより、複数の操作を一度で簡潔に実行できます。
コールバック関数は、処理中の要素、そのインデックス、および元の配列を引数として受け取ります。コールバック関数が配列を返した場合は、その配列の各要素が新しい配列に展開されます。配列以外の値を返した場合は、その値が新しい配列の要素として直接追加されます。flatMapメソッドは元の配列を変更せず、常に新しい配列を返します。例えば、ネストしたデータ構造から必要な情報を抽出し、それを単一のリストとして扱いたい場合などに非常に有効です。
構文(syntax)
1const originalArray = ["Hello world", "Node.js is awesome"]; 2 3// 各文字列をスペースで分割して単語の配列を作成し、それらの配列を結合して新しい単一の配列を生成します。 4const flatMappedArray = originalArray.flatMap(str => str.split(" ")); 5 6// flatMappedArray の結果は ["Hello", "world", "Node.js", "is", "awesome"] となります。
引数(parameters)
callback, thisArg
- callback: (element, index, array) => any: 配列の各要素に対して実行される関数。この関数は、新しい配列に含める要素を返す必要があります。
- thisArg: any: callback 関数を実行する際に
thisとして使用される値。
戻り値(return)
Array
指定されたコールバック関数によって各要素を変換し、その結果を平坦化(フラット化)した新しい配列を返します。