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