ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
>[info] 数组转Tree ~~~ /** * @description 数组转 * @param {Array} data 数据 * @param {Object} props `{ parent: 'pid', children: 'children' }` */ export const arrayToTree = ( data: any[], props = { id: 'id', parentId: 'pid', children: 'children' } ) => { data = cloneDeep(data) const { id, parentId, children } = props const result: any[] = [] const map = new Map() data.forEach((item) => { map.set(item[id], item) const parent = map.get(item[parentId]) if (parent) { parent[children] = parent[children] ?? [] parent[children].push(item) } else { result.push(item) } }) return result } ~~~