const _flatten = arr => {
const dfs = function (array) {
let resultArr = []
for (let i = 0; i < array.length; i++) {
if (array[i].constructor == Array) {
resultArr = resultArr.concat(dfs(array[i]))
} else {
resultArr.push(array[i])
}
}
return resultArr
}
return dfs(arr)
}
console.log(_flatten([1, 2, ['a', ['b', ['c'], ['d'], ['e']], ['f']], 3, 4]))
ES2023
[1,[2,[3,[4,5]]]].flat(3)