我必须“获取”一个数组,但我所拥有的只是一个与数组名称匹配的字符串。显然这种事情是行不通的,但它显示了我正在尝试做的事情:
var arrayname = new Array(1, 2, 3);
var array = 'arrayname';
Alert(array[0]);
当然,上面的示例产生 'a' 而不是 1,就像我需要的那样。
背景是我正在使用 Hyperion 商业智能仪表板,其中使用的数组由用于调用它的按钮名称的子字符串确定。
我必须“获取”一个数组,但我所拥有的只是一个与数组名称匹配的字符串。显然这种事情是行不通的,但它显示了我正在尝试做的事情:
var arrayname = new Array(1, 2, 3);
var array = 'arrayname';
Alert(array[0]);
当然,上面的示例产生 'a' 而不是 1,就像我需要的那样。
背景是我正在使用 Hyperion 商业智能仪表板,其中使用的数组由用于调用它的按钮名称的子字符串确定。
这很简单。
var storage = {};
storage.arrayname = [1, 2, 3];
alert(storage["arrayname"].join(','));
强烈建议不要污染全局命名空间。我强烈建议您不要window
为此目的使用该对象。阅读这里了解更多详情。
window
如果它是在窗口上下文中定义的,请尝试使用该对象来检索它。
var array = window["arrayname"]
您可以使用
array = window['arrayname'];