1. 使用for循环+递归
let arr = [1, 2, [3, 4, [5, 6, [7,8,[9]]]], [10 , [11]]];
function getNewArr(list){
let result = [];
(function forList(list){
if(!Array.isArray(list)){
new Error('not Array');
return;
}
for (let i = 0; i < list.length; i++) {
const el = list[i];
if(Array.isArray(el)){
forList(el)
} else {
result.push(el)
}
}
})(list)
return result;
}
2. reduce + 递归
function fun(arr){
return arr.reduce((pre,val)=>{
return Array.isArray(val) ? pre.concat(fun3(val)): pre.concat(val)
},[])
}
console.log(fun(arr))