手写flat
arr.flat(depth) @parame depth — The maximum recursion depth默认1
- ES5
function flatten(arr){
let n=arr.length
let result=[]
for(let i=0;i<n;i++){
if(Array.isArray(arr[i])){
result=result.concat(flatten(arr[i]))
}else{
result.push(arr[i])
}
}
return result
}
- ES6
function flatten(arr) {
while (arr.some(item => Array.isArray(item))) {
arr = [].concat(...arr);//展开一层
}
return arr;
}

浙公网安备 33010602011771号