在循环中构建对象属性的语法--javascript

时间:2015-08-31 23:05:04

标签: javascript object

我想遍历一个对象列表并在页面上的图形上显示一个属性,但我似乎无法获得正确的语法来循环获取这些数据。

如果没有循环,这会让我知道我想要做什么:

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

2 个答案:

答案 0 :(得分:4)

虽然可以使用#result { white-space: pre-line; } eval()完成 ,但这简直就是错误的。将值放在数组中并通过索引访问它们。如果您必须使用自变量,请执行:

new Function ()

然后使用

var arr = [zone1, zone2, zone3];

答案 1 :(得分:0)

我会采用这种方式避免使用eval

&#13;
&#13;
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;
&#13;
&#13;

希望它有所帮助!