我有一个数组加载一个具有某个索引属性的数组:
var hotspotLocationsTextAndAudio [];
var myArr = [
[{x:10, y:40, filename:"test", text:"test"}],
[{x:50, y:60, filename:"test2", text:"test2"}]
];
hotspotLocationsTextAndAudio[window.IDNum] = myArr;
要访问hotspotLocationsTextAndAudio的某个索引处的属性(我的情况是window.IDNum等于)在该(0)内的数组的索引和某个属性,我认为我只需要执行以下操作: / p>
alert(hotspotLocationsTextAndAudio[window.IDNum][0].x);
返回undefined。
答案 0 :(得分:1)
假设您实际使用的代码是:
var hotspotLocationsTextAndAudio [];
var myArr = [
[{x:10, y:40, filename:"test", text:"test"}],
[{x:50, y:60, filename:"test2", text:"test2"]}
];
hotspotLocationsTextAndAudio[window.IDNum] = myArr;
您需要的提醒代码是:
alert(hotspotLocationsTextAndAudio[window.IDNum][0][0].x);
原因是你将对象包裹在[]
中,将它们放在一个数组中。
或者,为了让您的原始提醒有效,您需要将myArr
更改为:
var myArr = [
{x:10, y:40, filename:"test", text:"test"},
{x:50, y:60, filename:"test2", text:"test2"}
];
答案 1 :(得分:0)
这对我有用:http://jsfiddle.net/Ku2tQ/
var hotspotLocationsTextAndAudio = [];
var myArr = [
[{x:10, y:40, filename:"test", text:"test"}],
[{x:50, y:60, filename:"test2", text:"test2"}]
];
alert(myArr[1][0].x);
首先,hotspotLocationsTextAndAudio是一个空数组,你永远不会将myArr推送/合并到它。因此,尝试访问空数组的嵌套值将失败。
arr,也从未定义过。
如果可能,请保持简单并尝试避免嵌套数组太深。