首页 > 解决方案 > Javascript检查数组json中是否存在值

问题描述

我想检查我的 id 是否存在于数组列表中。我尝试了一些,比如 IndexOf 或 hasOwnProperty 等等。

希望可以有人帮帮我。

那是我的尝试

if(array.hasOwnProperty('3771245')) {
    alert('is in array');
} else {
    alert('is not in array');
}

那就是数组:

var array = [ 
  {
    id: 3771245,
    sku: 149
  }, 
  { 
    id: 125125125,
    sku: 149
  },
  { 
    id: 5351531,
    sku: 149
  }
];

以下是我要检查的项目是否在数组 json 中

var items = [ { id: '3771245' }, { id: '37712415' } ];

标签: javascript

解决方案


使用Array.prototype.filter(), 然后Array.prototype.map():

var array = [{
    id: 3771245,
    sku: 149,
  },
  {
    id: 125125125,
    sku: 149,
  },
  {
    id: 5351531,
    sku: 149,
  }
]

const searchIds = [3771245, 125125125];

const items = array
  .filter(i => searchIds.includes(i.id))
  .map((i) => { return { id: i.id } })

console.log(items)


推荐阅读