const arr = [1, [2, [3, [4, 5]]], 6];
const str = JSON.stringify(arr);
const res1 = arr.flat(Infinity);
const res2 = str.replace(/\[|\]/g, '').split(',');
const res3 = JSON.parse('[' + str.replace(/\[|\]/g, '') + ']');
function flatten(arr) {
return arr.reduce((pre, cur) => {
return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
}, [])
}
const res4 = flatten(arr);
const res5 = [];
const fn = arr => {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])){
fn(arr[i]);
}
else {
res5.push(arr[i]);
}
}
}
fn(arr);
let ary = [1, [2, [3, [4, 5]]], 6];
while (ary.some(Array.isArray)) {
ary = [].concat(...ary);
}
console.log(ary, 'res5');