Array.prototype.flat
实现 Array.prototype.flat
、flat
的作用是数组降维,可以传入一个参数,表示降维的层次。默认为1
使用 reduce 和递归结合实现即可
Array.prototype.myFlat = function (deep = 1) { return this.reduce((acc, cur) => { if (deep > 0 && Array.isArray(cur)) { acc.push(...cur.myFlat(deep - 1)) } else { acc.push(cur) } return acc }, []) } const arr = [1, [2, [3, [4, [5, [6, [7, [8, [9], 10], 11], 12], 13], 14], 15], 16]] console.log(arr.myFlat()) console.log(arr.myFlat(1)) console.log(arr.myFlat(2)) console.log(arr.myFlat(Infinity))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论