2

我必须“获取”一个数组,但我所拥有的只是一个与数组名称匹配的字符串。显然这种事情是行不通的,但它显示了我正在尝试做的事情:

var arrayname = new Array(1, 2, 3);
var array = 'arrayname';

Alert(array[0]);

当然,上面的示例产生 'a' 而不是 1,就像我需要的那样。

背景是我正在使用 Hyperion 商业智能仪表板,其中使用的数组由用于调用它的按钮名称的子字符串确定。

4

3 回答 3

6

这很简单。

var storage = {};
storage.arrayname = [1, 2, 3];
alert(storage["arrayname"].join(','));

强烈建议不要污染全局命名空间。我强烈建议您不要window为此目的使用该对象。阅读这里了解更多详情。

于 2013-04-29T15:08:27.960 回答
2

window如果它是在窗口上下文中定义的,请尝试使用该对象来检索它。

var array = window["arrayname"]
于 2013-04-29T15:08:30.960 回答
0

您可以使用

array = window['arrayname'];
于 2013-04-29T15:10:15.500 回答