Javascript:访问多维数组的属性

时间:2014-07-08 21:18:26

标签: javascript multidimensional-array properties

我有一个数组加载一个具有某个索引属性的数组:

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。

2 个答案:

答案 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,也从未定义过。

如果可能,请保持简单并尝试避免嵌套数组太深。