数组扁平化
数组扁平化:就是将[1,2,[3,4],[5,[6,7]],8]转化为[1,2,3,4,5,6,7,8]。
方法一:采用递归的思想,并借助数组的reduce方法
function flatten(arr) {
return arr.reduce((a,b)=>{
return a.concat(Array.isArray(b)?flatten(b):b)
},[])
}
方法二:
//正则表达式
function flatten(arr){
let temp=arr.toString().replace(/(\[\])/g,'');
return JSON.parse('['+temp+']')
}
方法三:扩展运算符和数组的some方法
function flatten(arr){
while(arr.some(Array.isArray)){
// console.log(arr);
arr=[].concat(...arr)
}
return arr
}