function flat(arr) { // while(arr.some(Array.isArray)){ // arr = [].concat(...arr); // } // return arr; let re = []; let flat = (a) => { for(let i of a){ if(i instanceof Array){ flat(i); } else { re.push(i); } } } flat(arr); return re; } console.log(flat([1,[2,3,[4,[5]]],6]))