Array.prototype.myflat=function(count){
let arr=[];
//遍历数组的成员
for(let i=0;i<this.length;i++){
//判断成员是否是数组
if(this[i].constructor==Array&&count>0){ //当维度为<=0则停止
//如果是数组则利用函数自调用思想,再次循环
let arr1=this[i].myflat(count-1) //这里count代表是降几级维度
//遍历出arr1的成员,放进我们返回的arr中 因为我们调用函数返回的是数组所以还要遍历
arr.push(...arr1)
}else{arr.push(this[i])}
}
return arr;
}
var arr=[[1,2,3],8,9,[[1,2],[2,3]],[[[1,2]]]]
console.log(arr.myflat(3))
08-22
5246
08-28
3523
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交