let arr = [1, 2, [3, 4, 5, [6, 7, 8], 9], 10, [11, 12]]; flatten1 = arr => arr.flat(Infinity) flatten2 = arr => arr.toString().split(',').map(item => Number(item)) flatten3 = arr => {
while (arr.some(Array.isArray)) {
arr = [].concat(...arr);
}
return arr
} flatten4 = arr => {
return arr.reduce((result, item) => {
return result.concat(Array.isArray(item) ? flatten4(item) : item)
}, [])
}