我想遍历一个对象数组,检查对象变量的名称是否等于传递给函数的元素的 id,如果是,则将另一个对象的 innerHTML 设置为匹配对象的 name属性。前任。
var samplearray = new Array();
var Guy1 = new Object();
Guy1.name = "Bill";
Guy1.health = 100;
samplearray.push(Guy1);
Guy2.name = "Dan";
Guy2.health = 125;
samplearray.push(Guy2);
//this is all done previously by a function on pageload
function afunction(id){
for (item in samplearray)
{
if (item == id.id){
document.getElementById("changeme").innerHTML=samplearray[item].name;
}
}}
if 中的“item”似乎不是指变量的名称。如果我使用自定义 var_dump 函数检查它,它会告诉我值是“11”而不是“Guy1”。我不知道为什么。
编辑:
固定的for循环:
for (var item in samplearray)
{
if (samplearray[item].varname == id.id){
document.getElementById("changeme").innerHTML=samplearray[item].name';
}}