Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过字符串访问数组_Javascript - Fatal编程技术网

Javascript 通过字符串访问数组

Javascript 通过字符串访问数组,javascript,Javascript,我在访问数组时遇到问题。我想访问数组的值,但得到的只是数组的字符串名。我在网上搜索了一下,但没有发现与我的问题有关的东西。我简化了这个问题,看起来是这样的 var pics = ["one","two","three"]; var index = 1; var name = "pics"; function changeContent(name) { var foo = name+'['+index+']'; alert(foo); } 我得到的只是 pics[1]

我在访问数组时遇到问题。我想访问数组的值,但得到的只是数组的字符串名。我在网上搜索了一下,但没有发现与我的问题有关的东西。我简化了这个问题,看起来是这样的

var pics = ["one","two","three"];
var index = 1;
var name = "pics";

function changeContent(name)
{
    var foo = name+'['+index+']'; 
    alert(foo);
}
我得到的只是

   pics[1]

我想要的是pics[1]的值,即“2”。如何获取数组的值?

为了不使用全局或
eval
从本地对象访问数组:

var arrays = {
    pics: ["one", "two", "three"]
};

function changeContent(name) {
    return arrays[name][index];
}

var index = 1,
    name = "pics";

console.log(changeContent(name));  // "two"

为了不使用全局或
eval
从本地对象访问数组:

var arrays = {
    pics: ["one", "two", "three"]
};

function changeContent(name) {
    return arrays[name][index];
}

var index = 1,
    name = "pics";

console.log(changeContent(name));  // "two"

如果您在全局范围内,您可以这样做:

var pics = ["one","two","three"];
var index = 1;
var name = "pics";

function changeContent(name)
{
    var foo = window[name][index]; 
    alert(foo);
}

如果您在全局范围内,您可以这样做:

var pics = ["one","two","three"];
var index = 1;
var name = "pics";

function changeContent(name)
{
    var foo = window[name][index]; 
    alert(foo);
}

尝试使用eval函数

而不是

alert(foo);
使用


尝试使用eval函数

而不是

alert(foo);
使用

可能重复的可能重复的。。