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