javascript - 通过字符串访问数组

标签 javascript

我在访问数组时遇到问题。我想访问数组的值,但我得到的只是数组的字符串名称。我在网上搜索过,但没有发现任何与我的问题相关的内容。我已经简化了问题,看起来像这样。

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

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

我得到的只是

   pics[1]

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

最佳答案

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

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

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

var index = 1,
    name = "pics";

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

关于javascript - 通过字符串访问数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19314233/

相关文章:

javascript - Vuefire - 在 v-for 循环中获取 key

javascript - vue组件如何添加外部脚本?

javascript - 在复选框上显示 map_canvas div

javascript - 匹配 URL 的正则表达式以子域开头,但不是 "www"

javascript - 在 `this` 方法之外向 `constructor()` 添加新属性是否被认为是不好的做法?

javascript - 隐藏功能jquery不起作用

javascript - Facebook - fb graph api js sdk 对用户 ID 给出错误的响应

javascript - 在与钩子(Hook) react 时更新具有唯一值的对象内的数组

javascript - 如何让一页上的多个 slider 功能彼此分开?

javascript - 查看Cloudflare worker 的错误日志(错误1101)