gpt4 book ai didi

javascript - 无法读取未定义的属性

转载 作者:行者123 更新时间:2023-11-28 12:43:53 25 4
gpt4 key购买 nike

我正在循环对象数据,但得到了这个未定义的值。

不知道为什么,但希望有人能解释一下。

我的对象是这样的:

//globally set
var sdata = {"4":{"7":["1","7","3","3"]},"3":{"3":["2","8","1","1"]}};

我像这样循环对象:

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

我想知道为什么它会说它未定义? =/无法解决。它假设正在获取该对象的数组数据中的位置 [2]。

最佳答案

我相信您希望在内部循环中循环 sdata[x],而不是 sdata:

function is_occupied(position) {
for(var x in sdata){
for(var y in sdata[x]){

关于javascript - 无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10038415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com