我想遍历一个对象列表并在页面上的图形上显示一个属性,但我似乎无法获得正确的语法来循环获取这些数据。
如果没有循环,这会让我知道我想要做什么:
document.getElementById("v1").innerHTML = zone1.sensor;
document.getElementById("v2").innerHTML = zone2.sensor;
document.getElementById("v3").innerHTML = zone3.sensor;
我无法弄清楚如何遍历对象,如下所示:
for(i = 1; i < 7; i++) {
document.getElementById("v" + i).innerHTML = ("zone" + i + ".sensor");
}
答案 0 :(得分:4)
虽然可以使用#result { white-space: pre-line; }
或eval()
完成 ,但这简直就是错误的。将值放在数组中并通过索引访问它们。如果您必须使用自变量,请执行:
new Function ()
然后使用
var arr = [zone1, zone2, zone3];
答案 1 :(得分:0)
我会采用这种方式避免使用eval
:
var zone1 = new Object;
var zone2 = new Object;
var zone3 = new Object;
zone1.sensor = "sensor1";
zone2.sensor = "sensor2";
zone3.sensor = "sensor3";
var zones = [zone1, zone2, zone3];
for( var i = 1; i < 4; i++) {
document.getElementById("v" + i).innerHTML = zones[i - 1]["sensor"];
}
&#13;
<div id="v1"></div>
<div id="v2"></div>
<div id="v3"></div>
&#13;
希望它有所帮助!