以下这些方法你得熟悉reduce方法和some方法
方法一:
let arr=[1,2,3,[4,5],[6,7,[8,9,[10]]]]
function flat(arr,depth){
return arr.reduce((pre,cur)=>{
return pre.concat(flat(cur,depth-1));
console.log(flat(arr,3));

方法二:
let arr=[1,2,3,[4,5],[6,7,[8,9,[10]]]]
function flat(arr,depth){
return depth ===0 ? arr :arr.reduce((pre,cur)=>Array.isArray(cur) ? pre.concat(flat(cur,depth-1) ): pre.concat(cur),[])
console.log(flat(arr,2));
方法三:
let arr=[1,2,3,[4,5],[6,7,[8,9,[10]]]]
function flat(dep,array){
array=array.reduce((pre,cur)=>{
console.log(flat(2,arr));
方法四:
let arr=[1,2,3,[4,5],[6,7,[8,9,[10]]]]
Array.prototype.flat=function(depth){
let originSource=[...this];
if(originSource.some(item=>Array.isArray(item))){
originSource=[].concat(...originSource);
console.log(originSource);
console.log(arr.flat(3));
