我有一系列消息,例如
private func renderPolicy(
isEnabled: Bool,
resource: ChosenResource<Notice>,
message: Chat.Message.Incoming,
) -> Node<NodeId> {
if case .privacyNotice(text: let text, resource: _) = message.content {
return Node(
component: Component.Message(
....
text: text,
....
)
} else {
// handle the other casese
}
}
和另一个数组
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'} ]
与{id:3,message:'message_c'}
进行比较,只得到部分oldMessages
?
我必须仅根据其ID比较它们。
答案 0 :(得分: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 )