我想遍歷一個對象數組,檢查對象變量的名稱是否等於傳遞給該函數的元素的id,如果是這樣,則設置另一個元素的innerHTML對象名稱屬性的匹配對象。 ex。在javascript的循環中使用對象名稱的數組
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;
}
}}
「項目」中的如果似乎並不指變量的名稱。如果我用自定義的var_dump函數檢查它,它告訴我值是「11」而不是「Guy1」。我不知道爲什麼。
編輯:
固定的循環:
for (var item in samplearray)
{
if (samplearray[item].varname == id.id){
document.getElementById("changeme").innerHTML=samplearray[item].name';
}}
什麼是* id *?你如何調用函數? * item *不應該是* window *,除非你用* samplearray *做了一些不顯示的事情。 – RobG
在什麼情況下,下面的比較是正確的:item == id.id? – Prusprus
這是一個由onclick(this)通過圖像調用的函數。所以id.id應該引用圖像的id,我想檢查它是否等於循環中對象的變量名稱。 – Cid2196