我有一个Java脚本数组如下: - 第一个元素是一个字符串 - 第二个元素是一个数组 - 这个的第一个元素是一个字符串 - 第二个元素是一个数组 ---这是一个字符串的第一个元素 ---第二个元素是一个数组 : : 实际上,这会达到5级。
photoList =
[Photographs, [
[2000, [
[London, [pic1.jpg, pic2.jpg, pic3.jpg]],
[Rome, [p1.jpg, p2.jpg, p3.jpg....]]
]],
[2001, [
[Berlin, [x1.jpg, x2.jpg,....]],
[Munich, [y1.jpg, y2.jpg, y3.jpg,...]],
[Frankfurt, [z1.jpg, z2.jpg]]
]]
]
];
我知道所选照片的路径(并且索引值存储在数组“路径”中) 例[1] [0] [1] [2]是2000年 - >罗马 - > p3.jpg
知道这些索引值,我该如何访问p3? 在代码中,我形成了一个字符串变量:var index =“[1] [0] [1] [2]”。 现在我需要做一些事情: photoList +指数 我尝试了eval(photoList + index),但这不起作用。 我也尝试使用一个循环,使用切片:
var elem = photoList;
for (var i=0; i<path.length; i++) {
elem = elem.slice(path[i], path[i+1];
}
任何想法都会受到赞赏。
答案 0 :(得分:0)
为什么不执行以下操作(前提是路径是索引数组,例如[1,0,1,2]):
var elem = photoList;
for (var i=0; i<path.length; i++) {
elem = elem[path[i]];
}
答案 1 :(得分:0)
为了评估photoList + index,您需要将photoList作为字符串传递给eval,因此eval("photoList" + index)
可以正常工作。