JavaScriptの配列のネストを解除するflat()とflatMap()メソッド
JavaScriptの配列のネストを解除するflat()メソッドとflatMap()メソッドの使い方と具体例をまとめました。
flat()メソッドの使い方
配列の中に配列があった場合でも、flat()メソッドを使うと簡単にひとつの配列にすることができます.
ネストされた配列をフラット(flat)にするメソッドです。
flat()だと、ネスト化された配列をフラットにできるのは配列の中の配列のみになります。つまり、その中に配列がさらにネスト化されている場合はその部分は配列で返されます。
二階層深くネスト化された配列をフラットにしたい場合はflat(2)と数字を入れることでフラットになります。
flat()メソッドの具体例
次のようなオブジェクトデータがあるとします。その中の全員のmovementsをひとつの配列にまとめたいときにflat()メソッドが使えます。
まずはmap()メソッドで一つの配列の中にmovementsの配列を取り込みます。
そして、flat()メソッドで一つの配列にします。
最後にreduce()メソッドですべての合計を出します。
flatMap()メソッドとflat()メソッドの違い
上のように、map()メソッドからのflat()メソッドというやり方はとても一般的なため、それがまとめて行えるメソッドがあります。それがflatMap()メソッドです。
flatMap()メソッドは上のように、accountMovements3の部分のようにして使うことができます。
flatMap()メソッドは、flat()メソッドとの機能の違いが一つあり、flat()メソッドはflat(2)とすることでさらに深くのネスト化された配列をフラットにできましたが、flatMap()メソッドではそれができません。1階層しかできません。