Javascript: Array name as string; Need it to reference the actual array [duplicate]

StackOverflow https://stackoverflow.com/questions/16282045

  •  13-04-2022
  •  | 
  •  

I have to "get at" an array, but all I have is a string that matches the array name. Obviously this kind of thing won't work, but it shows what I'm trying to do:

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

Alert(array[0]);

Of course, the example above yeilds 'a' instead of 1, like I'd need.

The background is that I'm working with a Hyperion Business Intelligence dashboard, where which array used, is determined by a substring of the button's name that was used to call it.

有帮助吗?

解决方案

It's very simple.

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

Polluting the global namespace is strongly discouraged. I would strongly advise you to refrain from using the window object for this purpose. Read HERE for more details.

其他提示

Try using the window object to retrieve it if it is defined in the window context.

var array = window["arrayname"]

You can use

array = window['arrayname'];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top