-
リダクションと再帰を使用する方法:
function flattenArray(arr) { return arr.reduce(function (flat, toFlatten) { return flat.concat(Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten); }, []); }
-
スプレッド演算子を使用する方法:
function flattenArray(arr) { while (arr.some(Array.isArray)) { arr = [].concat(...arr); } return arr; }
-
配列のメソッドであるflatMapを使用する方法 (ECMAScript 2019以降):
function flattenArray(arr) { return arr.flatMap(function (toFlatten) { return Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten; }); }
これらの方法は、与えられた配列がどのような深さであっても、すべてのネストされた要素をフラット化します。ご希望の方法を選んで使用してください。
以上が、JavaScriptで任意の深さの配列をフラット化する方法のいくつかの例です。