let arr = [1,[2,3,[4]],5,6,[7,[8],[9,10,[11],12]]];


Array.prototype.myFlat = function(n){
  let newArr = [];
  this.forEach(item=>{
    if(Array.isArray(item) && n > 0){
      newArr = newArr.concat(item.myFlat(n-1))
    }else{
      newArr.push(item)
    }
  })
  return newArr;
}

let newArr1 = arr.myFlat(2);
let newArr2 = arr.flat(2);
console.log(newArr1, newArr2);

手写flat

 

相关文章:

  • 2022-12-23
  • 2021-09-17
  • 2022-01-14
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-31
  • 2021-11-18
  • 2022-12-23
  • 2021-10-07
  • 2022-01-12
  • 2021-07-11
  • 2022-12-23
相关资源
相似解决方案