通过包含引用的Array修改特定属性

时间:2013-07-03 02:42:10

标签: javascript attributes

我怎样才能提高效率?:

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

1 个答案:

答案 0 :(得分: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];

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