Ich bin meine Objektdaten Schleife, aber bekomme diesen undefinierten Wert.Kann nicht lesen Eigenschaft von undefined
Nicht sicher warum, aber hoffte, dass jemand erklären kann.
Meine Aufgabe ist es wie folgt aus:
//globally set
var sdata = {"4":{"7":["1","7","3","3"]},"3":{"3":["2","8","1","1"]}};
Und i-Schleife das Objekt wie folgt:
function is_occupied(position) {
for (var x in sdata) {
for (var y in sdata) {
// error's here Cannot read property '2' of undefined
var ex = sdata[x][y][2] > position.block_width ? (sdata[x][y][2] + (sdata[x][y][2] - position.block_width)) : sdata[x][y][2],
var ey = sdata[x][y][3] > position.block_height ? (sdata[x][y][3] + (sdata[x][y][3] - position.block_height)) : sdata[x][y][3];
if (position.x >= sdata[x][y][2] && position.x <= ex && position.y >= sdata[x][y][3] && position.y <= ey) {
alert('hit');
}
}
}
}
Ich frage mich, warum es seine undefinierte sagen würde? =/Kann es nicht herausfinden. Es wird angenommen, dass er die Position [2] in den Array-Daten dieses Objekts erhält.
Ah! Guter Ort, Sir! So war es! :) – Sir