// 迭代方式实现flatten
function flatten (arr) {
const res = []
let temp = arr
while(temp.length !== 0) {
const a = temp.shift()
if (Array.isArray(a)) {
const newArr = []
a.forEach(d => {
newArr.push(d)
})
temp = newArr.concat(temp)
} else {
res.push(a)
}
}
return res
}
arr.join(',').split(',').map(item => Number(item))
flatten([1, [2, [3, [4]], 5]])
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com
文章标题:
文章字数:58
本文作者:泽鹿
发布时间:2019-08-01, 15:40:02
最后更新:2019-08-01, 15:45:57
原始链接:http://panyifei.github.io/2019/08/01/前端面试/代码/数组/flatten/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。