jQuery Multidimensional Array (dynamischer Schlüssel) - Eigenschaft von undefined @ kann nicht festgelegt werd

Vielen Dank, Chad, für seine Lösung. Es scheint jedoch, dass jetzt Werte aus dem Array gelöscht werden. Hier ist einforeach im Konsolenprotokoll, das meine Situation anzeigt (gefolgt vom aktualisierten Code für die Aktualisierungsfunktion):

timer.html:60 ------------------------------------
timer.html:57 0
timer.html:58 undefined
timer.html:57 1
timer.html:58 1.910
2timer.html:60 ------------------------------------
timer.html:57 0
timer.html:58 undefined
timer.html:57 1
timer.html:58 undefined
timer.html:57 2
timer.html:58 1.727
2timer.html:60 ------------------------------------
timer.html:57 0
timer.html:58 undefined
timer.html:57 1
timer.html:58 undefined
timer.html:57 2
timer.html:58 undefined
timer.html:57 3
timer.html:58 0.690
timer.html:60 ------------------------------------

=========================================

function updateLap(kartId){

  if (isNaN(driverLapNumber[kartId])) {
     //IF LAP NOT SET THEN THE KART ID NEEDS TO BE SET AS 0 AS IT IS THE START OF THE RACE
     window.driverLapNumber[kartId] = 0;  
  }

  //ADD ONE LAP TO THE KART ID
  driverLapNumber[kartId]++;

  //ADD LAP TIME FOR CURRENT LAP NUMBER  
  driverLapTimes[kartId] = [];
  driverLapTimes[kartId][driverLapNumber[kartId]] = window.lapTime;

   $.each(driverLapTimes , function( index, obj ) {
    $.each(obj, function( key, value ) {
        console.log(key);
        console.log(value);     
    });
    console.log("------------------------------------");
  });


  $(".lapTimes").prepend("kartId: "+kartId+" - "+window.lapTime+"<br>");

}

Ich nehme an, ich kann PHP dafür die Schuld geben, da dies bei der Art und Weise, wie ich es derzeit schreibe, möglich wäre. Ich benötige Unterstützung, um dies zu korrigieren.

Alles ist in Ordnung, außer der ZWEITEN Taste auf demdriverLapTimes Array, ich möchte, dass es etwas ausgibt wie:

driverLapNumber[999][1] = 6.666;
driverLapNumber[999][2] = 6.666;
driverLapNumber[999][3] = 6.666;
driverLapNumber[999][4] = 6.666;

Aber die Tasten 1,2,3,4 werden mit dem folgenden Konsolenfehler angezeigt:

Uncaught TypeError: Eigenschaft '1' von undefined @ kann nicht gesetzt werd

Der Funktionscode:

function updateLap(kartId){

  if (isNaN(driverLapNumber[kartId])) {
     window.driverLapNumber[kartId] = 0;  
  }

  //ADD ONE LAP TO THE KART ID
  driverLapNumber[kartId]++;

  //ADD LAP TIME FOR CURRENT LAP NUMBER
  driverLapTimes[kartId][driverLapNumber[kartId]] = window.lapTime;  

}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage