繁体   English   中英

Javascript 中的嵌套循环问题

[英]Problems with nested loops in Javascript

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

我需要得到一个变量被打印或使用到循环中的时间,我脑海中闪过的第一件事是使用 .length ......我认为它有效......但它没有,或者我没有知道是否有。

当我使用长度方法时,我在控制台中得到了这个:控制台消息

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

我只是不能在循环外的变量上使用 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}
  }
}

}

您需要的是能够记录某事发生的次数的东西。 这最好通过一个可以递增的变量来完成。 这看起来像什么?

var counter = 0;
// later on when you find you need to increment the counter
counter = counter + 1;

完成循环后,您可以执行console.log(counter) 在您的代码中,您希望var counter = 0发生在第一个for循环的正上方。 您当前正在执行的操作console.log(j.length)是您增加计数器的位置。 然后选择要打印的循环之外的一个点。 你有几个循环,我不确定你什么时候想打印计数器。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM