推送仅匹配对象键的一个数组的索引值

时间:2017-05-06 04:20:08

标签: arrays

我有一个对象:

  

PiecePrize = {0:" a",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 个答案:

答案 0 :(得分:1)

PiecePrize不是数组。

所以,

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

应该是

if( PiecePrize[value] )