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

Modify a specific attribute via an Array containing references

本文关键字:修改 属性 数组 包含 引用      更新时间:2023-09-26

如何提高以下各项的效率

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

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