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]访问代码>