需求:遍历出树的所有同级节点,并返回一个二维数组(原始树与新生成的二维数组如下)
解决方法1:(使用中间过渡数组)
const formatArrA = arr => {
let initArr = []
let curChildren = []
const format = (ar, i) => {
initArr[i] || (initArr[i] = [])
curChildren = [] // 每次循环重新清空curChildren
ar.forEach(val => {
initArr[i].push(val)
if (Array.isArray(val.children) && val.children.length > 0) {
curChildren = [...curChildren, ...val.children]
}
})
if (curChildren.length > 0) {
format(curChildren,