0%

原理

将多层数组扁平化

实现

1
2
3
4
5
6
7
8
9
10
11
Array.prototype.myFlat = function() {
var arr = [];
this.forEach((item)=>{
if(Array.isArray(item)){
arr = arr.concat(item.myFlat()); // 如果是数组的话继续循环
}else{
arr.push(item)
}
})
return arr
};

还有另外一种实现方式,非常好用

1
2
3
4
5
Array.prototype.myFlat = function() {
return this.toString() // => "1,2,3,4"
.split(",") // => ["1", "2", "3", "4"]
.map(item => +item); // => [1, 2, 3, 4]
};