2013-07-03 3 views
0

는 어떻게 만들 수 배열 포함 된 참조를 통해 특정 속성을 수정? 당신이이 일을하고 있다는 사실이 나에게 경고 기호처럼 보이는 것을보다 효율적인 다음

var varToChange = ['playerList',24,'hp',24]; 

//Sending that info to the client... 

if(varToChange.length == 2){ 
window[varToChange[0]] = varToChange[1] 
} 
... 
if(varToChange.length == 4){ 
window[varToChange[0]][varToChange[1]][varToChange[2]][varToChange[3]] = varToChange[4] 
} 
+0

이 자바 스크립트입니까? 이 태그를 추가하십시오. –

+0

예. 그것은 자바 스크립트입니다. – PerfectAffix

+0

당신은'varToChange [3]'을 건너 뛰고 있습니까? – user2357112

답변

0
var tmp = window; 
var length = varToChange.length; 
for (var i = 0; i < length - 2; i++) { 
    tmp = tmp[varToChange[i]]; 
} 
tmp[varToChange[length - 2]] = varToChange[length - 1]; 

참고. 자신이하는 일을 구현할 수있는 더 좋은 방법이있을 것입니다.

+0

잘 작동합니다. : D 그렇지만, 내가 이것을하는 방식은 아마 '적절한'코딩이 아닐 것이다. 그래도 도움이 될 수 있습니다. – PerfectAffix

관련 문제