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 に答える