比较两个数组中的对象并根据 JavaScript 中的匹配返回

2024-03-29

我为此使用 React,但概念是在 javascript 中。因此,为了简单起见,我希望我可以省略 React 代码。

我有两个需要过滤掉的数组。我的目标是映射一个数组并检查该对象的属性是否与另一个数组的对象中的属性匹配。

第一个数组如下所示:

[{id: 1}, {id: 2}, {id: 3}, {id: 4}]

第二个看起来像这样:

[{id: 3}, {id: 4}]

所以如果一个对象有相同的id属性作为另一个数组中的对象,返回一个反应元素/任何东西。

这是我要做的事情,但它只遍历索引并比较它们。这似乎正确地循环第一个数组,但我似乎无法通过索引以外的任何内容循环第二个数组。

return arr1.map((e, i) => {
  return if (e.id === arr2[i].id) {
    return <div>Match</div>
  } else {
    return <div>No Match</div>
  }
})

你的问题是你正在逐个索引进行比较。你想知道 arr1 中的元素是否是anywhere在 arr2 中,对吧?

我会用arr2.filter搜索 arr2 的全部内容。所以你会得到这样的东西:

return arr1.map((e1, i) => {
  if (arr2.filter(e2 => e2.id === e1.id).length > 0) {  // If there's a match
    return <div>Match</div>
  } else {
    return <div>No Match</div>
  }
})

更新: 正如评论中建议的那样Array.some这里更好:

return arr1.map((e1, i) => {
  if (arr2.some(e2 => e2.id === e1.id)) {  // If there's a match
    return <div>Match</div>
  } else {
    return <div>No Match</div>
  }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较两个数组中的对象并根据 JavaScript 中的匹配返回 的相关文章

  • 在网页上写乐谱[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在网页中编写乐谱和和弦 有没有可用的库 例如用于数学的 Mathjax 如果没有 那么还有其
  • 如何在 Javascript 中获取时区名称(PDT、EST 等)? [复制]

    这个问题在这里已经有答案了 使用 Javascript 有没有办法根据用户的设备获取用户的时区名称 PDT EST 等 我尝试过的代码 const timezone jstz determine const userTimezone tim
  • Node 和 General 中的 MVC:模型如何与视图绑定?

    我从 node js 开始 正在制作一个简单的 MVC 框架 到目前为止 我已经有一个前端控制器 或 调度程序 如果你愿意的话 可以工作 路由通过调度程序配置模块进行 如图所示 我的问题在最后 紧接代码之后 另外 这是学习node的练习 请
  • 定时器内嵌套异步等待 - 不返回所需的值

    我必须使用 Mocha 和 chai 测试来测试端点的响应 下面是相同的代码 async function getData userId let response let interval setInterval async gt resp
  • History.pushState和页面刷新

    我开始研究 HTML5 新历史 API 不过 我有一个问题 如何处理页面刷新 例如 用户单击一个链接 该链接由 js 函数处理 该函数 异步加载页面内容 使用history pushState 更改URL 用户刷新页面 但是服务器上当然不存
  • 使用 ES6 静态函数时,我得到“没有这样的方法”

    我正在尝试为我在 React Native 中工作的项目创建一个包含静态函数的 utils 类 我读到了如何在 StackOverFlow 中创建静态函数question https stackoverflow com questions
  • 使用点符号将数字传递到函数中

    如果我有一个对象和函数 var obj 1234 example sample 5678 example sample function example num str if obj num hasOwnProperty str manip
  • 如何在javascript中删除一组表情符号中的最后一个表情符号?

    假设我的字符串中有 3 个表情符号 字符串中没有任何空格或除表情符号之外的任何其他字符 如何删除javascript中最后一个表情符号 下面的答案不使用任何特殊的包并安全地删除最后一个表情符号 function safeEmojiBacks
  • Javascript - 对父母调用 super 父母?

    我在 Odoo 中定义了当前自定义 javascript 视图的扩展 openerp account move journal test function instance var t instance web t lt instance
  • 无法安装js-bson

    我正在使用Windows 7 64位 尝试安装bson作为mongodb的依赖项 我收到此错误 npm WARN package json email protected cdn cgi l email protection No READ
  • JavaScript:嵌套循环?

    我想实现这样的动画 序列 动画以循环开始 想象一下car从 x1 移动到 x2 然后暂停 1 秒 然后再次播放动画 想象一下car从 x2 移动到 x3 等 the car循环是通过向汽车左侧添加 1px 来实现的 值 但我无法弄清楚嵌套循
  • 防止 Bootstrap IE 下拉列表在滚动条单击时关闭

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

    运行 Postgres 7 4 是的 我们正在升级 我需要将 1 到 100 个选定项目存储到数据库的一个字段中 98 的情况下 只会输入 1 个项目 而 2 的情况下 如果是这样的话 会输入多个项目 这些项目只不过是文本描述 截至目前 长
  • 将罗马数字转换为阿拉伯数字--recursiv

    我是 JavaScript 新手 正在网站的帮助下学习https www jshero net koans roman1 html https www jshero net koans roman1 html 本练习是编写一个转换器 将罗马
  • Android 中的字符串加密

    我正在使用代码进行加密和加密 它没有给出字符串结果 字节数组未转换为字符串 我几乎尝试了所有方法将字节数组转换为字符 但没有给出结果 public class EncryptionTest extends Activity EditText
  • Escape String - 在 Javascript 中输出rails字符串[重复]

    这个问题在这里已经有答案了 我正在尝试将字符串值分配给 erb 文件中的 javascript 对象 如下所示 var data name 问题是 如果name is Tom s small ears 的输出data name将会Tom x
  • 为什么 [].push([]) 返回 1? [复制]

    这个问题在这里已经有答案了 为什么这会返回 1 push outputs 1 push 返回数组的新长度 one push two returns 2 array length is 2 one two push something ret
  • ESLint 如何集成到 Create React App 中?

    当我跑步时npx create react app some name 为我创建了一个简单的 React 项目 当我随后窥视package json 似乎有一些 ESLint 存在的证据 因为有 eslintConfig extends r
  • IE 中带有“删除”方法的 jQuery.ajax 问题

    我有一个页面 用户可以使用按钮编辑各种内容并选择触发 ajax 调用 特别是 一个操作会导致远程调用一个 url 其中包含一些数据和 放置 请求 这 因为我使用的是宁静的 Rails 后端 会触发我的更新操作 我还有一个删除按钮 它调用相同
  • 如果列表在初始化之前为空,则 jQuery 可排序无法与水平列表正常工作

    如果我在初始化后将元素添加到列表中 sortable它无法正常工作 参见示例jsFiddle http jsfiddle net NQMPr 1 示例 HTML div class container div br

随机推荐

  • 如何在 google colab 中运行 matlab .m 文件

    我目前正在尝试运行这个存储库https github com Fanziapril mvfnet https github com Fanziapril mvfnet这需要一个步骤 Run the Matlab ModelGeneratio
  • 已确认设计在最新版本中不起作用

    我最近从 Devise 1 2 升级到 1 4 9 除了我的可确认模块之外 一切似乎都正常 电子邮件以及整个过程都有效 但确认页面始终是空白的 它可以工作并确认电子邮件帐户 但不会重定向用户并引发 406 错误 对于错误确认尝试 它也会执行
  • iframe 不工作

    我正在尝试让 Iframe 正常工作 我正在运行 safari 所以它是兼容的 但是当我测试它时 它显示为空白 代码 p Your browser does not support iframes p 使用 尝试一下 编辑器后 我直接从 w
  • 您如何比较 IIS 和 Cassini 作为生产服务器?

    我有一个 ASP NET 网站 当前在 IIS 上运行 现在我想将该站点移至卡西尼号上运行 Cassini 与 IIS 相比有哪些优势 它的缺点是什么 您使用 Cassini 作为生产网络服务器的体验如何 据我所知 您不能在生产中使用 Ca
  • 比较给出错误输出的日期

    我正在创建一个函数来检查充满日期的数据库表中哪个日期小于当前日期 和过去一样 我有 3 个日期来测试该函数 以及它们背后的输出 上个月的日期 2015年4月28日 16 32 00日期尚未到来 11 06 2015 13 12 00上周日期
  • java并发:多生产者一消费者

    我遇到一种情况 不同的线程填充一个队列 生产者 并且一个消费者从该队列中检索元素 我的问题是 当从队列中检索这些元素之一时 某些元素会丢失 丢失信号 生产者代码是 class Producer implements Runnable pri
  • Perl 如何在空格上分割行,除非空格用双引号引起来?

    我有以下字符串 StartProgram 1 C Program Files ABC ABC XYZ CleanProgramTimeout 1 30 我需要一个正则表达式来分割这一行 但忽略 Perl 中双引号中的空格 以下是我尝试过的但
  • Time.advance 记录在哪里?

    在网上查了一下 我发现 RubyTime班级有Time advance 这是在哪里记录的 我在 Ruby API 文档中没有看到任何提及它here http apidock com ruby Time API 文档的搜索功能表明 任何地方都
  • 将进程附加到远程 PC 上正在运行的进程

    我正在开发一个 C 应用程序 该应用程序在远程 PC 上运行 我有 VPN 连接并使用 RDP 会话 我可以登录到该计算机 在那台计算机上 在正在运行的进程旁边 还有两个 msvsmon exe 进程 在任务管理器中具有以下 命令行 条目
  • 尝试让 libmecab.dll (MeCab) 与 C# 一起使用

    我正在尝试使用日本形态分析仪MeCab http mecab sourceforge net 在 C 程序 Visual Studio 2010 Express Windows 7 中 编码出现问题 如果我的输入 粘贴到文本框中 是这样的
  • Pymongo 如何正确使用 $push 更新现有文档

    我做错了什么或者我不明白 push 可能不明白 无论如何 我有以下文件 id ObjectId 501c83051d41c8753e000000 node denver enc environment production classes
  • RSpec - 模拟(或存根)重写 mixin 方法

    我有这样的情况 module Something def my method return some symbol end end class MyClass include Something def my method if xxx o
  • 从 LAN 中的其他计算机使用 ASP.NET Web Api 服务

    我用谷歌搜索了这个问题 但找不到任何可以解决我的问题的东西 我是 ASP NET Web Api 的新手 我构建了一个 ASP NET Web Api 当我在本地计算机上从 Visual Studio 运行它时 一切都运行良好 在这两种情况
  • 从redux中的reducer获取ID

    我是个新手 正在尝试使用 React 和 Redux 构建一个简单的书签应用程序 我无法解决这个问题 用户可以创建一个书签并将其添加到多个文件夹 所以我派了一个addMark bookmark 行动 然后addMark folder or
  • Pandas:添加具有最新值的列

    我有两个 pandas 数据框 两个数据框都带有日期时间条目的索引 这df1具有非唯一的时间索引 而df2有独特的 我想添加一栏df2 a to df1通过以下方式 对于中的每一行df1带时间戳ts df1 a应包含最新值df2 a其时间戳
  • 如何从 Laravel 5 中的 AJAX 调用返回视图?

    我正在尝试获取一个 html 表以在 ajax 调用中返回 route Route post job userjobs JobController userjobs ajax调用页面 function getUserJobs userid
  • Google 地图、PHP 和 MySQL 上的附近位置搜索

    我正在构建一个网络应用程序 只是为了好玩 xD 您可以在其中告诉它您在哪里以及您想去哪里 然后您可以搜索您可以乘坐的巴士列表 我的数据库是这样的 buses id bus number bus description routes id b
  • 客户端列表的 MVC 自定义验证

    我正在尝试编写一个在客户端工作的自定义验证器 用于验证所有复选框是否已被选中 这是模型的声明 DeclarationsAccepted ErrorMessage You must tick all declarations public I
  • 德国 UI 文化 de-DE 小数更改为 asp.net 中的逗号值问题

    我在我的 ASP NET 应用程序中使用德国 UI 文化 我正在根据下拉列表中选择的语言更改应用程序的 UI 文化 在下拉列表中选择的索引更改时我正在使用此代码 Thread CurrentThread CurrentCulture new
  • 比较两个数组中的对象并根据 JavaScript 中的匹配返回

    我为此使用 React 但概念是在 javascript 中 因此 为了简单起见 我希望我可以省略 React 代码 我有两个需要过滤掉的数组 我的目标是映射一个数组并检查该对象的属性是否与另一个数组的对象中的属性匹配 第一个数组如下所示