javascript 访问多维对象无效
javascript access multidimensional object not working
我有一个对象:
var Obj = [{
id: "",
position: {
cartesian: [],
polar: [],
bob: "INERTIAL"
}
}];
当我去设置obt.id
Obj.id="sam/reconnaissance - "+samName;
它工作正常。
然而当我去访问Obj.position.cartesian
(Obj.position.cartesian).push(fooBar[i][t][p]);
我收到此错误:
(Obj.position.cartesian).push(fooBar[i][t][p]);
^
TypeError: Cannot read property 'cartesian' of undefined
为什么?我已经尝试 Obj['position']['cartesian']
但仍然没有
我做错了什么?
Obj 不是一个对象,它是一个数组,因此您必须访问索引为 0 的第一个元素。试一试
Obj[0]['position']['cartesian']
您使用的不是对象,而是数组。
对象看起来像这样:
var obj = {
id: 0
};
你拥有的是一个数组中的对象:(注意[
)
var obj = [{id: 0}];
Obj 是一个以单个元素作为对象的数组,因此要访问位置,您可以使用这些语法中的任何一种
Obj[0]['position']['cartesian']
Obj[0].position.cartesian
同样,cartesian
是一个数组,因此要调用推送,您可以使用
Obj[0]['position']['cartesian'].push(foobar[i][t][p])
Obj[0].position.cartesian.push(foobar[i][t][p])
我有一个对象:
var Obj = [{
id: "",
position: {
cartesian: [],
polar: [],
bob: "INERTIAL"
}
}];
当我去设置obt.id
Obj.id="sam/reconnaissance - "+samName;
它工作正常。
然而当我去访问Obj.position.cartesian
(Obj.position.cartesian).push(fooBar[i][t][p]);
我收到此错误:
(Obj.position.cartesian).push(fooBar[i][t][p]);
^
TypeError: Cannot read property 'cartesian' of undefined
为什么?我已经尝试 Obj['position']['cartesian']
但仍然没有
我做错了什么?
Obj 不是一个对象,它是一个数组,因此您必须访问索引为 0 的第一个元素。试一试
Obj[0]['position']['cartesian']
您使用的不是对象,而是数组。
对象看起来像这样:
var obj = {
id: 0
};
你拥有的是一个数组中的对象:(注意[
)
var obj = [{id: 0}];
Obj 是一个以单个元素作为对象的数组,因此要访问位置,您可以使用这些语法中的任何一种
Obj[0]['position']['cartesian']
Obj[0].position.cartesian
同样,cartesian
是一个数组,因此要调用推送,您可以使用
Obj[0]['position']['cartesian'].push(foobar[i][t][p])
Obj[0].position.cartesian.push(foobar[i][t][p])