js 工具函数,构造递归菜单组件

mysql 表里这种结构

我们实际想要的是树型结构

直接上代码


buildMenuTree: function (arr, res = []) {
  for (let i = 0; i < arr.length; i++) {
   if(arr[i].type === '0') {
     arr[i].children = []
     for (let j = 0; j < arr.length; j++) {
       if (arr[i].id === +arr[j].parentId) {
         arr[i]['children'].push(arr[j])
       }
     }
     if(arr[i].children.length>0) {
       res.push(arr[i])
     }else {
       delete arr[i].children
       res.push(arr[i])
     }
   }
  }
  return res
}

喜欢点赞评论加转发

你可能感兴趣的:(js 工具函数,构造递归菜单组件)