【问题标题】:Filtering an array of objects based on another array of objects in javascript基于javascript中的另一个对象数组过滤对象数组
【发布时间】:2020-06-02 15:23:44
【问题描述】:

我有一系列消息,例如

oldMessages = [ {id:1,message:'message_A'} , {id:2,message:'message_B'} ]

和另一个数组作为

newMessages = [ {id:1,message:'message_A'} , {id:2,message:'message_B'} , {id:3,message:'message_C'} ]

如何通过比较oldMessagesnewMessages 来仅获得{id:3,message:'message_c'} 部分? 我必须仅根据他们的 id 比较它们。

【问题讨论】:

  • 您好,欢迎您。你能发布一些你尝试过的代码吗?
  • 我想,但我的代码搞砸了,所以我发布了上面的例子,非常感谢任何帮助,谢谢
  • 你对此做了什么调查???
  • 关于 js 中包含和过滤的一些事情

标签: javascript arrays object compare


【解决方案1】:

您可以使用数组.find() 方法轻松做到这一点,例如:

const oldMessages = [ {id:1,message:'message_A'} , {id:2,message:'message_B'} ]
const newMessages = [ {id:1,message:'message_A'},{id:2,message:'message_B'} , {id:3,message:'message_C'} ]
const data = newMessages.find(r=> !oldMessages.map(x=>x.id).includes(r.id))

console.log( data )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2019-10-03
    • 2021-10-16
    • 1970-01-01
    • 2019-11-02
    • 2013-02-12
    相关资源
    最近更新 更多