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