邏輯稍微復雜點,就很容易出現(xiàn)for循環(huán)中嵌套if語句。比如:
menus:[{ id:"index", title:"首頁", isVisible:true },{ id:"apps", title:"應用中心", isVisible:true, children:[{ id:"index", title:"首頁", isVisible:true } ] } ]
這段代碼先遍歷menus數(shù)組,然后判斷是否顯示,在判斷是否有二級欄目,再遍歷二級欄目。。簡化版代碼:
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 等嵌套的,最多三層,但這段代碼都有五層嵌套了。。 求教各位大神,這類代碼應該怎么優(yōu)化? 感謝感謝?。?/p>