我有一个对象:
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']了,还是什么都没有
我做错了什么?
发布于 2016-09-06 01:46:01
Obj不是一个对象,它是一个数组,所以你必须访问索引为0的第一个元素。像这样试一试
Obj[0]['position']['cartesian']发布于 2016-09-06 01:51:34
您使用的不是对象,而是数组。
对象如下所示:
var obj = {
id: 0
};您所拥有的是数组中的一个对象:(注意[)
var obj = [{id: 0}];发布于 2016-09-06 02:20:16
Obj是一个以单个元素作为对象的数组,因此,要访问位置,您可以使用以下任何语法
Obj[0]['position']['cartesian']
Obj[0].position.cartesian同样,cartesian是一个数组,因此要调用push,您可以使用
Obj[0]['position']['cartesian'].push(foobar[i][t][p])
Obj[0].position.cartesian.push(foobar[i][t][p])https://stackoverflow.com/questions/39335470
复制相似问题