我一直遇到访问阵列的问题。我想访问数组的值,但我得到的只是数组的字符串名称。我在网上搜索过但发现没有任何与我的问题有关的内容。我简化了问题,它看起来像这样。
var pics = ["one","two","three"];
var index = 1;
var name = "pics";
function changeContent(name)
{
var foo = name+'['+index+']';
alert(foo);
}
我所得到的只是
pics[1]
我想要的是pics [1]的值是“两个”。你如何得到数组的价值?
答案 0 :(得分:3)
为了不从本地对象使用全局变量或eval
访问数组:
var arrays = {
pics: ["one", "two", "three"]
};
function changeContent(name) {
return arrays[name][index];
}
var index = 1,
name = "pics";
console.log(changeContent(name)); // "two"
答案 1 :(得分:1)
如果你在全球范围,你可以这样做:
var pics = ["one","two","three"];
var index = 1;
var name = "pics";
function changeContent(name)
{
var foo = window[name][index];
alert(foo);
}
答案 2 :(得分:0)
尝试使用eval函数
而不是
alert(foo);
使用
alert(eval(foo));