Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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_Hyperion - Fatal编程技术网

Javascript:数组名为字符串;需要它引用实际数组吗

Javascript:数组名为字符串;需要它引用实际数组吗,javascript,hyperion,Javascript,Hyperion,我必须“获取”一个数组,但我只有一个与数组名匹配的字符串。很明显,这种方法行不通,但它表明了我正在努力: var arrayname = new Array(1, 2, 3); var array = 'arrayname'; Alert(array[0]); 当然,上面的例子是“a”而不是我需要的1 背景是我正在使用Hyperion Business Intelligence仪表板,其中使用的数组由用于调用它的按钮名称的子字符串决定。非常简单 var storage = {}; stora

我必须“获取”一个数组,但我只有一个与数组名匹配的字符串。很明显,这种方法行不通,但它表明了我正在努力:

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

Alert(array[0]);
当然,上面的例子是“a”而不是我需要的1

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

非常简单

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

强烈反对污染全局命名空间。我强烈建议您不要为此使用
窗口
对象。阅读以了解更多详细信息。

如果在窗口上下文中定义了
对象,请尝试使用
窗口来检索它

var array = window["arrayname"]
你可以用

array = window['arrayname'];

数组引用在哪里?它是某个对象的属性。我希望你没有告诉我这是一个全局变量!这将有帮助:感谢pageslap-tymeJV:)我确实搜索过,但合适的关键字让我难以捉摸,自动搜索结果也没有。这和我的问题差不多。在我的实体模型中,eval()似乎就是我想要的,但我需要将它付诸实践。谢谢@他们试图用它进行操作,然后给现有对象赋值。它是相似的,但不是重复的。@EdwardD它是相同的东西<代码>警报(窗口[数组][0])大约有50个重复的问题。我只是选择了其中一个。不幸的是,Hyperion没有一个窗口或文档,我可以在他们的Javascript版本中调用。我认为这与@pscoder的答案类似,但创建了一些可供使用的窗口以外的东西。就我的目的而言,这似乎仍然是尴尬和复杂的,但也许我会回到它上来。@EdwardD:这既不尴尬也不复杂。这只是一个简单的对象,是正确的解决方案。您可以将其缩短为
var obj={arrayname:[1,2,3]}然后作为
obj[array][0]访问