1.数组拍平就是将数组里面的数组打开,最后合并为一个数组
2.实现
var arr = [1,2,[3,4,5,[6,7,8],9],10,[11,12]];
a:递归实现
let arr1 = []; function fn(arr){ arr.forEach((val)=>{ if(val instanceof Array){ arr1.concat(fn(val)) }else{ arr1.push(val) } }) return arr1 }
b:reduce实现
function fn(arr){ return arr.reduce((prev,cur)=>{ return prev.concat(Array.isArray(cur)?fn(cur):cur) },[]) }
c:flat
参数为层数(默认一层)
arr.flat(Infinity)