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]
}
4

1 回答 1

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];

请注意,您这样做的事实对我来说似乎是一个警告信号。可能有更好的方法来实现你正在做的任何事情。

于 2013-07-03T02:49:23.967 回答