//数组扁平化
let bList = [1, [2, 3, [4, 5, 6]]]
function bianping(bLists) {
let clist = []
bLists.forEach((d, index) => {
if (Array.isArray(d)) {
clist = clist.concat(bianping(d))
} else {
clist = clist.concat(d)
}
})
return clist
}
console.log(bianping(bList))
扁平化通常用作将一个多维数组转换为一维数组。实现原理就是遍历当前数组,判断数组里的每一项是不是数组,如果不是,则直接通过concat方法连接起来,如果是的话就再调用一次本方法去遍历这个数组。因为可能会出现多维数组的情况。所以需要再次调用方法去遍历。
网友评论