办法一:递归
var arr3 = [1,[2,3],[2,[1,3]],[[2,4],[2,8]]]function flaten(arr){ let result = []; arr.forEach((item)=>{ if(Array.isArray(item)){ result = result.concat(flaten(item)) }else{ result.push(item) } }) return result}console.log(flaten(arr3))
办法二:reduce+递归
function flatenReduce (arr){ return arr.reduce((res,item)=>{ return res.concat(Array.isArray(item)?flatenReduce(item):item) },[])}console.log(flatenReduce(arr3))