0

JavaScript について学んだばかりで、これが私のスクリプトです。

var now = new Date();
var date = now.getDate();
var month = now.getMonth();
var Holidays = [
    [8, 3],
    [9, 8],
    [10, 16],
    [11, 7],
    [11, 24],
    [11, 25],
    [11, 26],
    [11, 27],
    [11, 28],
    [11, 29],
    [11, 30],
    [11, 31],
    [0, 1],
    [0, 2],
    [0, 3],
    [0, 4],
    [0, 31],
    [1, 15],
    [1, 18],
    [2, 11],
    [2, 12],
    [2, 13],
    [2, 14],
    [2, 15],
    [2, 29],
    [3, 1],
    [4, 20],
    [5, 26],
    [5, 27],
    [5, 28]
];
var i = 0;
while (i <= Holidays.length) {
    if (check() === true) {
        console.log("No school today.");
        i = 32;
    } else if (check() === false) {
        if (i < Holidays.length) {
            i++;
        } else {
            console.log("we work today.");
            i++;
        }
    }
}

function check() {
    if (month == Holidays[i][0] && date == Holidays[i][1]) {
        return true;
    } else {
        return false;
    }
}

目的は、休日の配列の日に「今日は学校がありません」と出力するようにすることです。スクリプトを実行するたびに、常に次のように表示されます

型エラー Holidays[i] undefined

誰かがこれで私を助けることができますか?

4

2 に答える 2

1

コードに少なくとも 1 つの問題がある

while (i <= Holidays.length) {

最後の i は Holidays.length-1 にする必要があるため、次を使用します。

while (i < Holidays.length) {
于 2013-05-09T21:13:09.073 に答える