自己动手实现系列 ---- Array.prototype.flat()函数 Posted on 2020-03-24 Edited on 2020-04-02 In 源码原理 , 自己动手实现系列 原理将多层数组扁平化 实现1234567891011Array.prototype.myFlat = function() { var arr = []; this.forEach((item)=>{ if(Array.isArray(item)){ arr = arr.concat(item.myFlat()); // 如果是数组的话继续循环 }else{ arr.push(item) } }) return arr}; 还有另外一种实现方式,非常好用 12345Array.prototype.myFlat = function() { return this.toString() // => "1,2,3,4" .split(",") // => ["1", "2", "3", "4"] .map(item => +item); // => [1, 2, 3, 4]};