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;
}