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