1、示例数据
| [ |
| { |
| "importProductNo":null, |
| "periodTemplateId":null, |
| "importButaoId":"4a60be081644438e89ebf8e3e426e3ba", |
| "importButaoPid":"e723aed3e58d49e088edb732bfe20061", |
| "periodButaoId":null, |
| "periodButaoPid":null, |
| "butaoNo":"butao002", |
| "butaoName":"电机", |
| "checked":null, |
| "title":"电机" |
| }, |
| { |
| "importProductNo":null, |
| "periodTemplateId":null, |
| "importButaoId":"930d368fccbe455abf45cfec89d440d0", |
| "importButaoPid":"e723aed3e58d49e088edb732bfe20061", |
| "periodButaoId":null, |
| "periodButaoPid":null, |
| "butaoNo":"butao003", |
| "butaoName":"叶片", |
| "checked":null, |
| "title":"叶片" |
| }, |
| { |
| "importProductNo":null, |
| "periodTemplateId":null, |
| "importButaoId":"e723aed3e58d49e088edb732bfe20061", |
| "importButaoPid":null, |
| "periodButaoId":null, |
| "periodButaoPid":null, |
| "butaoNo":"butao001", |
| "butaoName":"机组总装配", |
| "checked":null, |
| "title":"机组总装配" |
| } |
| ] |
2、数组转树形结构
| baseToTree(data) { |
| let result = [] |
| if (!Array.isArray(data)) { |
| return result |
| } |
| data.forEach((item) => { |
| delete item.children |
| }) |
| let map = {} |
| data.forEach((item) => { |
| map[item.importButaoId] = item |
| }) |
| data.forEach((item) => { |
| let parent = map[item.importButaoPid] |
| if (parent) { |
| ;(parent.children || (parent.children = [])).push(item) |
| } else { |
| result.push(item) |
| } |
| }) |
| return result |
| }, |
3、树形结构转数组
| baseToArr(data) { |
| const result = [] |
| data.forEach((item) => { |
| const loop = (data) => { |
| result.push(data) |
| let child = data.children |
| if (child) { |
| for (let i = 0; i < child.length; i++) { |
| loop(child[i]) |
| } |
| } |
| } |
| loop(item) |
| }) |
| return result |
| }, |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!