Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

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'];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top