不使用额外的入参 递归函数返回扁平化后的数组
var arr1 = [
22,
[33, 44],
[55, 66],
[[77, 88, [99, 100, [101], 102]]],
103,
[104, 105],
106,
107
]
function flat (data, flatArray = []) {
let flatAll = flatArray
for (let i = 0; i < data.length; i++) {
if (data[i] instanceof Array && data[i].length) {
let result = flat(data[i])
flatAll = flatAll.concat(result)
} else {
flatAll = flatAll.concat(data[i])
}
}
return flatAll
}
console.log(flat(arr1))