console
var arr = [1, 2, 3, [4, 3, 2, 6, [7, 9, 2, 4, 6]]]
const res1 = arr.flat(Infinity)
const res2 = JSON.stringify(arr).replace(/\[|\]/g, '').split(',')
const res3 = JSON.parse('[' + JSON.stringify(arr).replace(/\[|\]/g, '') + ']')
const res4 = []
const fun = arr => {
for (var i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
fun(arr[i])
} else {
res4.push(arr[i])
}
}
}
fun(arr)
const funs = arr => {
return arr.reduce((pre, cur) => {
return pre.concat(Array.isArray(cur) ? funs(cur) : cur)
}, [])
}
console.log(funs(arr))
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=">
<meta http-equiv="X-UA-Compatible" content="">
<title>数组扁平化</title>
</head>
<body>
</body>
</html>