首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查对象数组中是否存在键

如何检查对象数组中是否存在键
EN

Stack Overflow用户
提问于 2018-01-20 13:56:50
回答 7查看 49.2K关注 0票数 10

我正在试图找出给定的键是否存在于对象数组中。如果值键存在,那么我想返回true else。

我从文本框输入键,然后检查该键是否存在于对象数组中,但无法得到。

这是我尝试过的

代码:

代码语言:javascript
复制
var obj = [{
    "7364234":"hsjd",
    "tom and jerry":"dsjdas",
    "mickey mouse":"kfjskdsad",
    "popeye the sailor man":"alkdsajd",
    "the carribean":"kasjdsjad"
}]

var val = $("input[name='type_ahead_input']").val();

if (obj[val]) {
    console.log('exists');
} else {
    console.log('does not exist');
}

如果我以'the carribean‘的形式提供输入,它存在于对象数组中,即使它输出在控制台中也不存在。

我怎么解决这个问题?

EN

Stack Overflow用户

发布于 2018-01-20 14:09:47

这是因为您有一个对象数组( [{...},{...}] ),而不仅仅是一个对象{...}。要么使用对象并保留测试,要么使用Array.find方法搜索数组中是否存在具有val属性的对象。例:

代码语言:javascript
复制
var objArr = [{
    "7364234":"hsjd",
    "tom and jerry":"dsjdas",
    "mickey mouse":"kfjskdsad",
    "popeye the sailor man":"alkdsajd",
    "the carribean":"kasjdsjad"
}]

let val = $("input[name='type_ahead_input']").val();

var existingObj = objArr.find(function(element) {
  return typeof element[val] !== 'undefined';
});

if (existingObj[val]) {
console.log('was found');
} else {
console.log('not-found');

请参阅:globaux/Array/find

票数 1
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48356971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档