0

私は何時間もこの問題を解決しようとしてきましたが、まったく運がありません。

プログラムは問題なく最初の反復を実行します (数値は配列に適切にスプライスされ、結果はコンソールに完全に出力されます) が、2 回目の実行で次のエラーが発生します。

キャッチされていない TypeError: 未定義のメソッド 'splice' を呼び出せません

この時点では、コンソール ログには何も出力されません。

最初の関数は次のとおりです。

var gameRound = [
    [],
    []
];
fight();

function fight() {
    var r = 10;
    var towel = false;
    var i = 1;
    while (i <= r && towel == false) {
        round(i);
        console.log("ROUND ", i);
        console.log(boxerA[0]);
        console.log("Punches Thrown: ", gameRound[i][0]);
        console.log("Punches Landed: ", gameRound[i][1]);
        console.log("Jabs Thrown: ", gameRound[i][2]);
        console.log("Jabs Landed: ", gameRound[i][3]);
        console.log("Power Thrown: ", gameRound[i][4]);
        console.log("Power Landed: ", gameRound[i][5]);
        console.log("Fatigue: ", boxerA[28]);
        console.log("Damage: ", boxerA[29]);
        console.log(boxerB[0]);
        console.log("Punches Thrown: ", gameRound[i][6]);
        console.log("Punches Landed: ", gameRound[i][7]);
        console.log("Jabs Thrown: ", gameRound[i][7]);
        console.log("Jabs Landed: ", gameRound[i][9]);
        console.log("Power Thrown: ", gameRound[i][10]);
        console.log("Power Landed: ", gameRound[i][11]);
        console.log("Fatigue: ", boxerB[28]);
        console.log("Damage: ", boxerB[29]);
        i++;
    }
}

そして、リストされたエラーを取得する関数と行:

function round(i)
{
// ...
gameRound[i].splice(0,0,numPunchesTA,numPunchesLA,numJabsTA,numJabsLA,numPowerTA,      numPowerLA, numPunchesTB, numPunchesLB,numJabsTB,numJabsLB,numPowerTB,numPowerLB);

}

テストすると、変数iはまだ「2」までカウントされているため、次の行が配列にスプライスされていない理由がわかりません。

4

1 に答える 1