2012-12-19 4 views
5

가능한 중복 :
Get variable from a stringJavaScript : 변수와 ​​이름이 같은 배열에 액세스합니까?

내가 에서 myArray라는 배열과 myVar에 호출되는 변수가 있습니다. myVar 변수는 'myArray'값을 보유합니다 (myVar 값은 배열 이름과 같습니다). 어떻게 든 myVar 변수를 사용하여 배열 요소에 액세스 할 수 있습니까? 일부 코드는 내 뜻을 설명합니다 :

var myArray = {1, 2, 3}; 
var myVar = "myArray"; 

감사합니다!

+0

"* myArray *라는 배열이 있습니다." JavaScript에서는 배열에 이름을 사용할 수 없습니다. 가지고있는 배열은 익명입니다. –

+0

당신이 의미하는 의사 코드를 보여주십시오. – epascarello

+0

위 코드를 추가했습니다. – user1856596

답변

7

여기의 키는 bracket notation입니다.

myArray 경우 배열 (myArray)는 전역 변수 인 경우

var myArray = ["1","2","3"]; 
var myVar = "myArray"; 
console.log(window[myVar]); 

더 나은 다음 window[myVar]을 사용할 수 있습니다, 네임 스페이스를

var myData = {}; 
myData.myArray = ["1","2","3"]; 
var myVar = "myArray"; 
console.log(myData[myVar]); 
+0

7 초 동안 나를 이길. 꿰매다. (그것은 경쟁이 아니라 단지 우리의 분산이 숫자 대 글자 인 것을 우스운 것으로 발견했다. ;-) –

+0

+1 네임 스페이스 – Chad

3

를 사용하는 세계입니다. 로컬 변수 인 경우 유일한 방법은 eval(myVar) (또는 그 유사어)을 사용하는 것입니다.

arr = window[myVar] // assuming myArray is a global variable 
arr[0] = 5 // same as myArray[0] = 5 
관련 문제