javascript - 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' } ];
解决方案
使用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 - Concat 2 输入值并将结果绑定到输入
- python - 按第一个字母字符的索引修剪字符串
- c# - 为什么 C# 针对 ushorts 上的模运算发出错误“无法隐式地将 int 转换为 ushort”?
- python - pandas 过滤是否支持别名?
- python - 检查字符串是否为回文返回错误结果
- javascript - 单击外部时如何关闭菜单?
- python - 为什么我的数组没有初始化?Numpy - 错误
- javascript - 为什么输入中的值没有加载来自 vuex 的值?
- ios - 应用程序在模拟器上完美运行,上传到 AppStore 后 - 找不到 pod
- java - 如何在 JFrame 中将绘制的内容居中?