如何检查数组中是否存在具有id属性的对象?

时间:2015-06-02 14:58:11

标签: javascript jquery

这是我的数组,如何检查其中的对象是否具有特定的id属性?

var products = [
    {
        id: 40,
        qtd: 5
    },
    {
        id: 32,
        qtd: 2
    },
    {
        id: 38,
        qtd: 3
    }
];

3 个答案:

答案 0 :(得分:6)

你可以使用.some,就像这样



var products = [
    {
        id: 40,
        qtd: 5
    },
    {
        id: 32,
        qtd: 2
    },
    {
        id: 38,
        qtd: 3
    }
];

var id = 40;

var isExist = products.some(function (el) {
  return el.id === id;
});

console.log(isExist);




答案 1 :(得分:0)

var id = 40;

var products = [
    {
        id: 40,
        qtd: 5
    },
    {
        id: 32,
        qtd: 2
    },
    {
        id: 38,
        qtd: 3
    }
];

function findId(needle, haystack){
  for(var i = 0; i < haystack.length; i++){
    if(haystack[i].id == needle){
      return haystack[i];
      }
    }
    return false;
  }

console.log(findId(id, products));

答案 2 :(得分:0)

您可以遍历数组并检查它是否具有所需的密钥。 Object.keys为您提供了一系列属性名称,您可以使用Array.indexOf

arr.forEach(function(obj){
   var prop_name = "id"
   if(Object.keys(obj).indexOf(prop_name) > -1)
      alert("Property present!");
   else
      alert("Property is missing!!");
});