如何在 JavaScript 中查找对象数组中的值?

2024-04-03

我有一个对象数组:

Object = {
   1 : { name : bob , dinner : pizza },
   2 : { name : john , dinner : sushi },
   3 : { name : larry, dinner : hummus }
}

我希望能够在对象/数组中搜索键为“晚餐”的位置,并查看它是否与“寿司”匹配。

我知道 jQuery 有 $.inArray,但它似乎不适用于对象数组。或者也许我错了。 indexOf 似乎也只适用于一个数组级别。

没有这方面的功能或现有代码吗?


如果你有一个数组,例如

var people = [
  { "name": "bob", "dinner": "pizza" },
  { "name": "john", "dinner": "sushi" },
  { "name": "larry", "dinner": "hummus" }
];

您可以使用filter https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter数组对象的方法:

people.filter(function (person) { return person.dinner == "sushi" });
  // => [{ "name": "john", "dinner": "sushi" }]

在较新的 JavaScript 实现中,您可以使用函数表达式:

people.filter(p => p.dinner == "sushi")
  // => [{ "name": "john", "dinner": "sushi" }]

您可以搜索有以下情况的人"dinner": "sushi"用一个map https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map

people.map(function (person) {
  if (person.dinner == "sushi") {
    return person
  } else {
    return null
  }
}); // => [null, { "name": "john", "dinner": "sushi" }, null]

or a reduce https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduce

people.reduce(function (sushiPeople, person) {
  if (person.dinner == "sushi") {
    return sushiPeople.concat(person);
  } else {
    return sushiPeople
  }
}, []); // => [{ "name": "john", "dinner": "sushi" }]

我相信您能够将其推广到任意键和值!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JavaScript 中查找对象数组中的值? 的相关文章

  • Ng Bootstrap 日期范围选择器 [markDisabled] 不适用于输入

    我正在尝试禁用某些日期ng 引导范围选择器 https ng bootstrap github io components datepicker overview 目前 我在弹出窗口中有一个范围选择器 并且我正在使用 markDisable
  • 使用 Jquery 更改 css 属性时的事件检测

    有没有办法检测元素的 显示 css 属性是否更改 是否更改为无 块或内联块 如果没有的话有什么插件吗 谢谢 Note 突变事件 https developer mozilla org en US docs Web Guide Events
  • 为什么 int 数组的最大大小小于 Int32.MaxValue? [复制]

    这个问题在这里已经有答案了 虽然这篇文章说它应该有效 https stackoverflow com questions 2338778 what is the maximum length of an array in net on 64
  • 有没有等效的 gulp 插件来执行“grunt Bower”?

    With grunt 我可以使用命令grunt bower 由 提供grunt bower requirejs https github com ck86 gulp bower files 自动生成RequireJS我本地的配置文件bowe
  • PHP根据给定索引的匹配值合并数组[重复]

    这个问题在这里已经有答案了 我有两个这样的数组 Array1 Array 0 gt Array ID gt 101 Code gt 1075 Date gt 2012 03 03 17 13 12 433 1 gt Array ID gt
  • 搜索/排序算法 - 是否有类似 GoF 的列表?

    我是一名自学成才的开发人员 坦率地说 我不太擅长找出在任何特定情况下使用哪种搜索或排序算法 我只是想知道是否有设计模式 esque 列出了以太坊中可用的常见算法 供我添加书签 就像是 算法名称 带有别名 如果有的话 它解决的问题 大O成本
  • 无法让 CloudKit 进行身份验证(使用 Javascript 和服务器到服务器密钥)

    我正在尝试使用苹果的cloudkit js文件以建立与 CloudKit 的服务器到服务器连接 然而 尽管配置混乱了几个小时 我似乎无法让 CloudKit 认为我的请求有效 我的配置逻辑非常简单 const privateKeyFile
  • 开始使用 Three.js 中的行进立方体

    我是 Three js 的新手 正在寻找教程来帮助我开始了解如何在 Three js 中使用 Marching Cubes 到目前为止 我在 Three js 中看到的一些使用它的项目对我来说有点复杂 所以一个简单的教程会很好 谢谢 像您一
  • 使用 Jasmine 模拟 jQuery ajax 调用

    我正在使用 Jasmine 2 5 2 为使用 jQuery 3 1 1 执行 Ajax 请求的代码编写单元测试 我想模拟 Ajax 调用 提供我自己的响应状态和文本 我正在使用 Jasmine ajax 插件 https github c
  • JSLint 错误:意外的“这个”

    无法理解为什么 JSLint 对我的使用感到惊讶this在下面的代码中 function testConstr x use strict this joker Whyyy sooo seriousss this x x 对于这两个属性分配
  • Antd 选择搜索框未呈现匹配项

    我有产品数据 我正在使用搜索值过滤数据 然后使用过滤后的数据呈现选项 产品数据作为道具来自全局 redux 存储 由于某种原因 下拉列表仅在搜索值为空时显示数据 当我开始输入时 filteredData已更新 组件也重新渲染 但选项不显示任
  • 使用 Google 地图 API 进行反向地理编码

    我正在研究 JavaScript Google Map API 版本 3 更准确地说 正在研究反向地理定位 在 的帮助下官方文档 http code google com intl fr apis maps documentation ge
  • 如何使表格单元格的最小宽度为 3 位数字?

    如何使表格中的每个单元格的最小宽度为 3 位数字且不会更大 现在我正在硬编码min width 但我不喜欢硬编码一个值 因为我将来可能想更改字体 如果需要Javascript也没关系 table border 1 tr td 1 td td
  • 防止 Bootstrap IE 下拉列表在滚动条单击时关闭

    在 IE 中 单击下拉菜单滚动条时 下拉菜单将关闭 当您使用鼠标滚轮滚动它时 效果很好 这是代码层链接 https www codeply com go Uh8qadr3q2 https www codeply com go Uh8qadr
  • 如何在一列中存储数组或多个值

    运行 Postgres 7 4 是的 我们正在升级 我需要将 1 到 100 个选定项目存储到数据库的一个字段中 98 的情况下 只会输入 1 个项目 而 2 的情况下 如果是这样的话 会输入多个项目 这些项目只不过是文本描述 截至目前 长
  • FB.getLoginStatus() 不起作用

    我正在尝试编写一段代码来检查用户是否登录 发现FBJS API中有一个内置方法 叫做getLoginStatus 我已经在html中实现了它 但出于某种原因 getLoginStatus 内部的alert 不会被触发 我也尝试在 init
  • 如何使用 Javascript 从 Chrome iOS 下载 blob 文件?

    如何使用 Javascript 从 Chrome iOS 下载 blob 文件 我正在从 iOS 下载文件 pdf excel txt png iOS 没有文件系统 这对下载来说是一个问题 我创建了一个代码 根据操作系统和导航器 如果需要
  • TinyMCE:将 CSS 类属性与 formatselect-dropdown 格式结合使用

    我想定制格式 http wiki moxiecode com index php TinyMCE Configuration theme advanced blockformats在 TinyMCE 中格式选择下拉菜单 http wiki
  • Escape String - 在 Javascript 中输出rails字符串[重复]

    这个问题在这里已经有答案了 我正在尝试将字符串值分配给 erb 文件中的 javascript 对象 如下所示 var data name 问题是 如果name is Tom s small ears 的输出data name将会Tom x
  • 在 Haskell 中增长数组

    我想在 Haskell 中实现以下 命令式 算法 给定一个序列对 e0 s0 e1 s1 e2 s2 en sn 其中 e 和 s 部分不一定是自然数不同的是 在每个时间步都会随机选择该序列的一个元素 例如 ei si 并根据 ei si

随机推荐

  • React-Apollo Mutation 返回空响应

    I am using AWS Appsync where I want to get a response from a successfully executed mutation When I try my setup in the A
  • 从 css 转换为样式组件(三元运算符)

    我正在尝试将我的项目从 css 转换为样式组件 https styled components com https styled components com 目前我已经转换了除我卡住的一个组件之外的所有其他组件 检查了 stackover
  • NLTK 关系提取不返回任何内容

    我最近正在研究使用 nltk 从文本中提取关系 所以我构建了一个示例文本 汤姆是微软的联合创始人 并使用以下程序进行测试并且不返回任何内容 我不明白为什么 我使用的NLTK版本 3 2 1 python版本 3 5 2 这是我的代码 imp
  • 使用 SSL 和 SslStream 进行点对点身份验证?

    我需要在使用 TCP IP 套接字进行通信的各个进程之间提供安全通信 我想要身份验证和加密 我真的很想使用 SSL 和 SslStream 类以及自签名证书 而不是重新发明轮子 我想要做的是根据本地应用程序中的已知副本验证远程进程的证书 不
  • 使用 Notepad++ 删除 @ 之前少于 5 个字符的行

    可能标题99 都看不懂 我有这样的 abc 5004428 abcd 62604 abcde 505779 但我的文件比这个大 所以 我想删除包含 abc 和 abcd 的整行 因为它们在 之前 并且它们短于5个或不相等的字符 更多解释 我
  • strsplit 并保留第一个下划线之前的部分

    我想保留第一个下划线之后的部分 请参阅示例代码 colnames df EGAR00001341740 P32 1 EGAR00001341741 PN32 我尝试过 但没有给出P32 1但只有P32这是错误的 sapply strspli
  • IPython 中带多个参数的并行映射函数

    我正在尝试使用 IPython 的并行环境 到目前为止 它看起来很棒 但我遇到了问题 假设我有一个在库中定义的函数 def func a b 当我想要评估 a 的一个值和 b 的一组值时 我会使用它 func myA b for b in
  • 一起使用 django-storages 和 django-compressor 时尝试压缩静态文件时出错

    我已经设置了一个 AWS S3 存储桶 以便使用应用程序 django storages 在远程 CDN 中传输静态文件 一切都工作正常 直到我尝试使用 django compressor 上传到 S3 之前压缩静态文件 我已经根据 dja
  • 通过 Poetry 中的 bash 命令输出确定要安装的软件包版本

    我正在尝试通过 Poetry 安装一个 Python 包 其安装版本应根据 Bash 命令的输出 返回值 确定 是否有可能做某事 在pyproject toml 大致如下 tool poetry dependencies python 3
  • jquery mobile 更改为下一个和上一个 data-role=page

    我在我的项目中使用 jquery mobile 并且我尝试使用滑动效果 使用两个按钮更改到下一个和上一个 data role page 我正在尝试使用这个 JavaScript 但我不知道为什么不起作用 感谢您的帮助 HTML div di
  • Spring 中的自定义身份验证

    我有个问题 在 Struts 中 我有一个处理用户身份验证的操作 即 我获取用户的凭据并使用 DAO 来验证用户凭据 我想在 Spring 中保持相同的设置 我正在使用 Spring 3 0 3 RELEASE 我的问题是 我已经阅读了 S
  • com.android.ddmlib.InstallException:EOF

    我正在使用 Android Development Toolkit 版本 16 0 1 v201112150204 238534 和库 Android 4 0 3 编译后 模拟器启动 几分钟后无法启动 当我尝试启动时 从控制台收到以下消息
  • ADFS(3.0)与iPad应用程序集成以实现SSO实施

    我在用ADAL SDK https github com AzureAD azure activedirectory library for objc https github com AzureAD azure activedirecto
  • java.lang.NoClassDefFoundError: android.security.MessageDigest

    在我的应用程序中我使用MessageDigest getInstance SHA 1 获取SHA1 在android 2 3中可以成功运行 但在android 4 0中无法运行 并且会显示以下异常 FATAL EXCEPTION main
  • Docker远程错误:tls:握手失败

    我安装了 Docker 版本 Docker version 19 03 8 build afacb8b 当我尝试使用 docker pull 命令时 例如通过 PowerShell 和 Windows 中的管理权限 docker pull
  • 可能的 Spring Boot 或 Spring Security 内存泄漏

    我一直在浸泡测试下运行带有 Spring Security 的 Spring Boot 应用程序 发现它逐渐填满了内存分配 我用以下命令启动了应用程序 java Xmx128m XX PrintGCDetails XX PrintGCTim
  • Appengine 网站的架构指南?

    我使用 PHP 创建了难以维护的网站 因为它很容易做一些又快又脏的事情 我不想在 Google 的 appengine 上使用 Python Django 做同样的事情 使用 Django 和 appengine 创建网站有什么好的架构参考
  • YTPlayerView 加载视频列表

    我正在尝试在我的应用程序上播放 Youtube 视频 我在用YTPlayerView用于按视频 ID 播放视频的库 问题是 当我尝试播放视频播放器列表时 显示错误 发生错误 请稍后再试 播放 ID someid 我使用以下代码来播放单个视频
  • 无法挂载内存cgroup

    我尝试使用以下命令挂载内存 cgroup sudo mount t cgroup none sys fs cgroup memory o memory 我收到错误 mount sys fs cgroup memory wrong fs ty
  • 如何在 JavaScript 中查找对象数组中的值?

    我有一个对象数组 Object 1 name bob dinner pizza 2 name john dinner sushi 3 name larry dinner hummus 我希望能够在对象 数组中搜索键为 晚餐 的位置 并查看它