値のオブジェクトを作成する関数がありますが、コンソールログでこれを取得しています:
x: Array[4]
0: undefined
1: NaN
2: undefined
3: NaN
length: 4
y: Array[4]
0: undefined
1: NaN
2: undefined
3: NaN
length: 4
この関数は、json でエンコードされた PHP ファイルから作成されたオブジェクトでループします。
var sdata = {"4":{"7":["1","7","2","2"]},"3":{"3":["2","8","1","1"]}};
私の機能は次のとおりです。
function populate_collisions(){
gcollision = {
x: [],
y: []
};
for(var key in sdata){
gcollision.x.push( sdata[key][0] );
gcollision.x.push( sdata[key][0] + (sdata[key][2]-1) );
gcollision.y.push( sdata[key][1] );
gcollision.y.push( sdata[key][1] + (sdata[key][3]-1) );
}
console.log(gcollision);
}
なぜ未定義と NaN になるのか知りたいです。そして、どうすれば問題を解決できますか?