JavaScript TypeError:无法读取未定义的属性“ 1”

时间:2020-04-13 10:29:14

标签: javascript

var toplamgun = 0;
var toplampazar = 0;
for (var yıl = 1900; ++yıl < 2001;){
    for(var ay= 0; ++ay<13;){
        if (ay == 2){

        }
        else{
            var eklenecekgun = AydakiGunler[ay] // error is here
            toplamgun += eklenecekgun
            yenigunindex = toplamgun % 7;
            if(yenigunindex == 6){
                toplampazar += 1;
            }
        }

    }
}
console.log(toplampazar);
var AydakiGunler = [0,31,0,31,30,31,30,31,31,30,31,30,31];

不能通过索引从数组中获取项目

这是错误 TypeError:无法读取未定义的属性“ 1”

我正尝试https://projecteuler.net/problem=19

2 个答案:

答案 0 :(得分:1)

您需要先定义AydakiGunler 才能尝试访问它。您的代码将如下所示:

var AydakiGunler = [0,31,0,31,30,31,30,31,31,30,31,30,31];

var toplamgun = 0;
var toplampazar = 0;
for (var yıl = 1900; ++yıl < 2001;){
    for(var ay= 0; ++ay<13;){
        if (ay == 2){

        }
        else{
            var eklenecekgun = AydakiGunler[ay] // error is here
            toplamgun += eklenecekgun
            yenigunindex = toplamgun % 7;
            if(yenigunindex == 6){
                toplampazar += 1;
            }
        }

    }
}
console.log(toplampazar);

恐怕我不会说土耳其语,所以在您尝试做的事情上我无能为力,但是无论哪种方式,我都祝您好运。

答案 1 :(得分:0)

在您的for循环前定义AydakiGunler

var变量被挂起并在文件的顶部声明,但是在初始化之前未定义它们。

 var toplamgun = 0;
    var toplampazar = 0;
    var AydakiGunler = [0,31,0,31,30,31,30,31,31,30,31,30,31];
    for (var yıl = 1900; ++yıl < 2001;){
        for(var ay= 0; ++ay<13;){
            if (ay == 2){

            }
            else{
                var eklenecekgun = AydakiGunler[ay] // error is here
                toplamgun += eklenecekgun
                yenigunindex = toplamgun % 7;
                if(yenigunindex == 6){
                    toplampazar += 1;
                }
            }

        }
    }
    console.log(toplampazar);