tree数据拍平
原数据如下

结果

实现代码:
var treeFlat = (data, childrenKey, map) => {
var res = []
var loop = (arr) => {
return arr.map(e => {
let item = map(e)
let children = e[childrenKey]
? loop(e[childrenKey]).flat().flat()
: []
e[childrenKey]
? res.push(item, ...children)
: res.push(item)
return e[childrenKey]
? [item, ...children]
: [item]
})
}
loop(data)
return res
}
USE
treeFlat(temp1, 'knowledgeTrees', (e) => ({name: e.name, uid: e.uid}))
--END--