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

How to check if an object with an id property exists inside an array?

本文关键字:对象 存在 是否 于数组 数组 id 何检查 检查 属性      更新时间:2023-09-26

这是我的数组,我如何检查它里面的对象是否有一个特定的id属性?

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

您可以使用.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);

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));

您可以遍历数组并检查它是否具有所需的键。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!!");
});