2017-05-06 56 views
1

我有一个对象:推索引值,只有一个对象的匹配密钥

PiecePrize = {0: “一”,1: “B”,2: “C”,3: “d”,4: “E”}

和阵列:

myPieces = [1,3,7,56];

我只想将myPieces的值推送到集合ID,如果它们也在PiecePrize对象中的话。

因此,试图遍历myPieces的每个索引,并且如果与PiecePrize对象中的键匹配,然后将它与值对一起作为新的列表元素推送。

我可以让它在没有if语句部分的情况下工作,但只要我尝试添加它,它不起作用,我没有收到任何错误。

function opCollection() { 
    var newHTML = []; 
    $.each(myPieces, function(index, value) { 
    if(jQuery.inArray(value, PiecePrize) >= 0) { 
     newHTML.push('<li>' + value + ": " + PiecePrize[value] + '</li>'); 
    } 
    }); 
    $("#collection").html(newHTML.join("")); 
} 

回答

1

PiecePrize不是数组。

所以,

if(jQuery.inArray(value, PiecePrize) >= 0) 

应该

if(PiecePrize[value]) 
+0

谢谢,这工作。编程新手,使其变得比需要的复杂。 –