Javascript 在for循环中访问obj

Javascript 在for循环中访问obj,javascript,Javascript,objVar=“一”; 变量=[“结果1”,“结果2”]; 变量一={ 结果1:5, 结果2:100 } 对于(i=0;i

objVar=“一”;
变量=[“结果1”,“结果2”];
变量一={
结果1:5,
结果2:100
}
对于(i=0;i


您可能应该选择另一种数据结构:

var lookup = {
 one: {
  Result1: 5,
  Result2: 100
 }
};

…因为您应该尝试不使用
窗口
进行任何操作。

[EDIT]:正如您所说的
objVar
也可以更改,因此您可以将
一个
对象作为父对象的属性并访问它。如果不是,则可以将其设置为全局变量,并将其用作
window
对象的属性,尽管我不建议创建全局变量

您可以通过以下括号符号访问对象
one
上的属性:

var masterObj = {
 one : {
  Result1: 5,
  Result2: 100
 },
 two: : {
  Result1: 5,
  Result2: 100
 },
}


document.querySelector(textID).innerHTML = masterObj[objVar][varID[i]];

你可以称之为:

... = one[varID[i]];

实际上,objVar可以改变。根据这一点,对象需要访问

根据这一评论:

... = window[objVar][varID[i]]
objVar=“一”;
变量=[“结果1”,“结果2”];
变量一={
结果1:5,
结果2:100
}
对于(i=0;i

我使用console.log进行测试,您可以使用document.querySelector

var objVar = {

    one: {
        Result1: 5,
        Result2: 100
    },

    two: {
        Result3: 12,
        Result4: 13
    }

};

var varID = ["Result1", "Result2"];
var textID;

//chose object from user or any way you want ...
var customObject = "one";


for (let i = 0; i < varID.length; i++) {
    textID = '#' + varID[i];
    console.log(objVar[customObject][varID[i]]);
}
var objVar={
一:{
结果1:5,
结果2:100
},
二:{
结果3:12,
结果4:13
}
};
变量varID=[“结果1”,“结果2”];
var-textID;
//从用户或您想要的任何方式选择对象。。。
var customObject=“一”;
for(设i=0;i
one[varID[i]]
。实际上,objVar可以更改。根据这一点,对象需要访问。如果varID始终是2个对象键,则可以使用object.keys(一个),它将返回所有键的数组。我更新了问题,以便更好地理解。很难选择一个接受的ans。每个人都给出了相同且正确的ans。此外,我的错误是问题在开始时不清楚#你会怎么做?“应该选择另一种数据结构”,你能解释一下为什么和什么吗?我刚从w3开始学习。@Mr.EU当然,请离开w3学校,更准确地说,我把
1
2
放在不同的js文件中,因为它们很大。js文件的加载取决于动态变化的
objVar
(如果需要)。在任何情况下,如果用户想要访问这些文件,他们都可以轻松访问。如果使用
窗口
,会发生什么情况?
... = window[objVar][varID[i]]
var objVar = {

    one: {
        Result1: 5,
        Result2: 100
    },

    two: {
        Result3: 12,
        Result4: 13
    }

};

var varID = ["Result1", "Result2"];
var textID;

//chose object from user or any way you want ...
var customObject = "one";


for (let i = 0; i < varID.length; i++) {
    textID = '#' + varID[i];
    console.log(objVar[customObject][varID[i]]);
}