const handleChangeType: (data: API.SysResourceEntity_[]) => Array<ITree> = (data) => { let temp: Array<ITree> = []; data.forEach((item) => { if (item.resType === 1) { let p = { title: item.resName, value: item.id, key: item.id, }; if (item.children && item.children.length > 0) { p.children = handleChangeType(item.children); } temp.push(p); } }); return temp; };
时间: 2024-02-14 16:19:14 浏览: 49
这段代码是一个函数,名为 `handleChangeType`,输入参数为一个 `API.SysResourceEntity_[]` 数组,输出结果为一个 `ITree` 数组。函数的作用是将输入的资源数组转换成树形结构的数组。
具体实现过程如下:
首先,定义一个空数组 `temp`,用来存放转换后的树形结构数组。
然后,遍历输入的资源数组 `data`,对于每个资源,如果其资源类型为1,则将其转换成树节点(`ITree`),并将其添加到 `temp` 数组中。树节点的 `title` 属性为该资源的名称,`value` 属性为该资源的 ID,`key` 属性也为该资源的 ID。
如果该资源还有子资源,那么递归调用 `handleChangeType` 函数,将其子资源也转换成树节点,并将其添加到当前节点的 `children` 属性中。
最后,返回转换后的树形结构数组 `temp`。
阅读全文