我们经常会在菜单、SKU、地区选择、工种选择等常见数据中,遇到这一类,后端直接返回一个平级数组,但我们需要把它解构成一棵树的情况。下面是一个很精简的解决方案,我平时经常在用的,分享给大家使用

// 平级数据变数组
function cloneTree(score, parentId = 0) {
  let tree = []
  score.map((item) => {
    if (item.parentId === parentId) {
      item.children = this.cloneTree(score, item.id)
      tree.push(item)
    }
  })
  return tree
}