如何优化多层嵌套的循环和条件判断代码??

逻辑稍微复杂点,就很容易出现for循环中嵌套if语句。比如:

menus:[{ id:"index", title:"首页", isVisible:true },{ id:"apps", title:"应用中心", isVisible:true, children:[{ id:"index", title:"首页", isVisible:true } ] } ]

这段代码先遍历menus数组,然后判<爱尬聊_知识大全>断是否显示,在判断是否有二级栏目,再遍历二级栏目。。简化版代码:

for(var i=0;i<menus.length;i++){ if(menus[i].isVisible == true){ dosomething.... if(menus[i].children){ for(var j=0;j<menus[i].children.length;j++){ if(menus[i].children[j].isVisible == true){ dosomething..... } } } } }

有些代码检测工具是不赞同多层for/if 等嵌套的,最多三层,但这段代码都有五层嵌套了。。 求教各位大神,这类代码应该怎么优化? 感谢感谢!!


卤肉面排骨 2小时前

看看是不是可以这样?for(var i=0;i<menus.length;i++){


ly1987526 2小时前

请使用递归。


倾城泪横行九州sadwqr一座 2小时前

这种含有子元素children,并且子元素和父级元素的结构是相似的,明显应该用递归或者while来进行遍历嘛。


tatontank 2小时前

}


小晓metres 1小时前

换种写法可以降到3层:


编辑 举报 2023-06-11 14:42

0个评论

暂无评论...
验证码 换一张
相关内容