例如:[1, [2, 3, [4, 5, [6, 7], 8]], 9].flat(2) 得到 [1, 2, 3, 4, 5,[ 6, 7],8,9]
直接上代码:
```javascript
Array.prototype.flat = function (dep = 1) {
return this.reduce((acc, val) => {
return acc.concat(Array.isArray(val) && dep > 0 ? val.flat(--dep) : Array.isArray(val) ? [val] : val)
}, [])
}
// 验证一下
let arr = [1, [2, 3, [4, 5, [6, 7], 8]], 9].flat(2)
console.log(arr, 'arr-leepoo')
```
![image.png](https://static.golangjob.cn/221229/8025b333cb0408279e49ad77fffad673.png)
有疑问加站长微信联系(非本文作者)