const refresh = () => { homeFastList.value = []; menuList.value.forEach((item: Any) => { if (item.speedMenu && item.speedMenu === "1") { homeFastList.value.push(item); } else if (item.children) { item.children.forEach((child: Any) => { if (child.speedMenu && child.speedMenu === "1") { homeFastList.value.push(child); } else if (child.children) { child.children.forEach((child1: Any) => { if (child1.speedMenu && child1.speedMenu === "1") { homeFastList.value.push(child1); } else if (child1.children) { child1.children.forEach((child2: Any) => { if (child2.speedMenu && child2.speedMenu === "1") { homeFastList.value.push(child2); } }); } }); } }); } }); };
时间: 2024-04-09 20:33:41 浏览: 125
以下是对代码进行优化的建议:
1. 使用递归来遍历多层嵌套的子菜单,可以减少重复的代码。可以创建一个递归函数来遍历菜单项和子菜单项,并将满足条件的项添加到 `homeFastList` 数组中。
2. 使用箭头函数简化代码,可以更加简洁和易读。
下面是优化后的代码示例:
```typescript
const refresh = () => {
const traverseMenu = (menu: any[]): void => {
menu.forEach((item: any) => {
if (item.speedMenu && item.speedMenu === "1") {
homeFastList.value.push(item);
}
if (item.children) {
traverseMenu(item.children);
}
});
};
const homeFastList: any[] = [];
traverseMenu(menuList.value);
homeFastList.value = homeFastList;
};
```
这样,通过使用递归函数,可以更加简洁地遍历多层嵌套的子菜单,并将满足条件的项添加到 `homeFastList` 数组中。
阅读全文