JavaScriptで任意の深さの配列をフラット化する方法


  1. リダクションと再帰を使用する方法:

    function flattenArray(arr) {
    return arr.reduce(function (flat, toFlatten) {
    return flat.concat(Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten);
    }, []);
    }
  2. スプレッド演算子を使用する方法:

    function flattenArray(arr) {
    while (arr.some(Array.isArray)) {
    arr = [].concat(...arr);
    }
    return arr;
    }
  3. 配列のメソッドであるflatMapを使用する方法 (ECMAScript 2019以降):

    function flattenArray(arr) {
    return arr.flatMap(function (toFlatten) {
    return Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten;
    });
    }

これらの方法は、与えられた配列がどのような深さであっても、すべてのネストされた要素をフラット化します。ご希望の方法を選んで使用してください。

以上が、JavaScriptで任意の深さの配列をフラット化する方法のいくつかの例です。