JavaScript中的嵌套循环问题

时间:2019-01-13 17:57:47

标签: javascript for-loop undefined nested-loops

我正在尝试在javascript中做一个嵌套循环,这是我第一次做这种事情,我对此有很多疑问:(!

我需要获取将变量打印或使用到循环中的时间,而脑海中流传的第一件事是使用.length ...,我认为它可以工作...但是没有,或者我不知道是不是。

当我使用length方法时,我在控制台中得到了这个:Console Message

这就是我需要的值,但是我不知道是否可以使用它,我什至不知道该值的名称,它看起来像“未定义”:(!

而且我只是无法在变量外使用console.log,因为它只返回变量的最后一个值,而不是具体打印该变量的次数。

如果您还有更多疑问,请看一下我的代码,也许它可以使您澄清。

function calculatingDays(day, month, year, current_day, current_month, current_year, final_day, callback){

for (k = year; k <= (year + 1); k++){

    for (i = current_month; i <= 12; i++){ 

        for (j = current_day; j <= final_day; j++) {

            console.log(j.length)
            if (j === day && i === month) {break}
        }

    final_day = new Date(year, i, 0);
    final_day = final_day.getDate();
    current_day = 1;
    if (j === day && i === month) {break}

    }

if (j === day && i === month) {break}
  }
}

}

2 个答案:

答案 0 :(得分:0)

您需要的是可以容纳发生某事的次数的东西。最好通过可以增加的变量来完成。看起来像什么?

drawable/backmaterial.xml

然后,在完成循环后,您可以执行android:background="@drawable/backmaterial"。在您的代码中,您希望var counter = 0; // later on when you find you need to increment the counter counter = counter + 1; 出现在第一个console.log(counter)循环的正上方。您当前正在var counter = 0做的地方就是增加计数器的地方。然后在循环之外选择要打印的斑点。您有几个循环,我不确定何时要打印计数器。

答案 1 :(得分:0)

除了接受的答案之外,您还可以用更少的代码获得相同的结果:

counter++;而不是counter = counter + 1;