3
有人請幫我解決一個警告在咕嚕聲。 我在我的項目中使用休耕條件,我得到一個警告, 塊嵌套得太深< 5>。如何擺脫嵌套太深的塊,同時使用grunt使用jshint?
var chartGuideLines = function() {
var chartid = $scope.chart.panel.id;
var chartTitle = $scope.confdata.prop.chartsarray;
for(var i = 0; i< chartTitle.length; i++) {
var chartslength = chartTitle[i];
var chartsId = chartslength.id;
if(chartsId === chartid){
for(var j = 0; j < chartslength.charts.length; j++) {
var chartsdata = chartslength.charts[j];
var guidlines = chartsdata.guideliney;
if(typeof guidlines !== 'undefined') {
var guidlineY = $scope.chart.targetNode.getElementsByClassName('guideline-y');
for (var ii=0; ii<guidlineY.length; ii++) {
guidlineY[ii].style.strokeDasharray = guidlines.stroke;
}
}
}
}
}
};
在此先感謝。
這只是一個警告。這對你來說真的是個問題嗎?雖然當你將事物深深地嵌套在一起時,肯定會有一種「代碼味道」,暗示某些重構可能是有序的,在你的情況下,如果不理解它打算做的代碼是什麼,重構三重嵌套似乎很困難以合乎邏輯的方式循環。 – 2014-10-08 16:30:50
@Mike Brant,這不是我可以做的一個問題 - 只是爲了知道使用reduce循環的任何選項。 – kumark 2014-10-08 16:44:22
你可以做一些事情,比如將這些循環的每個級別分解成一個單獨的函數調用,但是在你的情況下,我認爲這實際上會讓代碼更難理解/維護。 – 2014-10-08 17:16:07