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))
JS笔试题--实现数组的flat函数
最新推荐文章于 2023-06-30 15:59:37 发布