Javascript 检查 json 数组中是否存在值

标签 javascript

我想检查我的 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' } ];

最佳答案

使用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)

关于Javascript 检查 json 数组中是否存在值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52151405/

相关文章:

javascript - w3widgets 响应式日历 动态加载事件

javascript - 如何防止连续点击元素?

javascript - Array.prototype.some() 异步

javascript - 使用 phantomjs 在单击时加载 javascript/ajax 调用

javascript - ReactJS,将 prop 从父组件传递给子组件?

javascript - 如何使用 setTimeout 和 clearTimeout 在 JS 中重新启动递归函数?

javascript - 调用javascript时间 "object"

javascript - 使用 jquery ui 禁用可排序或拖动

javascript - Dojo 小部件默认值

javascript - 我如何在 typescript 中声明一个 'monkey patched' 原型(prototype)