メニュー
検索
言語
タグ
配列を平坦化(フラットに)する関数 (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>