スニぺったん

無料のコードスニペットを掲載しています。言語ごとにコードスニペットを検索し、利用することが可能です。コードのライセンスはトップページをご覧ください。

  • JavaScript
  • 配列を平坦化(フラットに)する関数 (flatten)

配列を平坦化(フラットに)する関数 (flatten)

総合評価: - 作成日: 2025-11-10

コメント:
Braveブラウザで動作確認済み

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>flatten</title>
    <script>
        /**
         * 配列を平坦(フラット)にする関数。
         * ary ... 配列
         * 返り値 ... 新しく作ったフラットにした配列
         */
        function flatten (ary) {
            let ret = []

            for (let el of ary) {
                if (Array.isArray(el)) {
                    ret = ret.concat(flatten(el))
                } else {
                    ret.push(el)
                }
            }
            
            return ret
        }

        document.addEventListener('DOMContentLoaded', () => {
            let ary = [
                [1, 2, 3],
                [4, 5, [6, 7]],
                [[[8, 9]]],
                10,
            ]
            let result = flatten(ary)
            console.log(result) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
            console.assert(result.length === 10)
            console.assert(result[0] === 1)
            console.assert(result[1] === 2)
            console.assert(result[2] === 3)
            console.assert(result[3] === 4)
            console.assert(result[4] === 5)
            console.assert(result[5] === 6)
            console.assert(result[6] === 7)
            console.assert(result[7] === 8)
            console.assert(result[8] === 9)
            console.assert(result[9] === 10)
        })
    </script>
</head>
<body>

</body>
</html>