let arr = [1, [2, 3, [4, 5, [6, 7], 8], 9], 10]
let res1 = arr.flat(Infinity)
console.log(res1)
let res2 = arr.toString().split(',').map(item => Number(item))
console.log(res2)
let res3 = arr.join(',').split(',').map(item => Number(item))
console.log(res3)
function flatten(arr) {
return arr.reduce((result, item) => result.concat(Array.isArray(item) ? flatten(item) : item), [])
}
let res4 = flatten(arr)
console.log(res4)
function flat(arr) {
let result = []
arr.forEach(item => {
if(Array.isArray(item)) {
result = result.concat(flat(item))
} else {
result = result.concat(item)
}
})
return result
}
let res5 = flat(arr)
console.log(res5)