Json数组
发布于 1 个月前 作者 feer 280 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利
2 回复

自己写个函数遍历一下呗

const data = [{…}, {…}, …]

const trees = data.reduce((result, node) => {
  node.children = (result.nodeMap[node.id] || {}).children || []
  result.nodeMap[node.id] = node
  if (node.parent === null) {
    result.trees.push(node)
  } else {
    const parent = result.nodeMap[node.parent] || (result.nodeMap[node.parent] = {children: []})
    parent.children.push(node)
  }
  return result
}, {nodeMap: {}, trees: []}).trees

会修改原始数据。如果需要 Immutable,先 clone 再 reduce。

回到顶部