javascript - Lodash - 不同身份的DifferenceBy
问题描述
我有以下数组:
[
{
id: 1
},
{
id: 2
},
{
id: 3
},
{
id: 4
}
]
每 5 秒我的应用程序会收到一个新数组,我需要比较下一个数组之间的差异......
所以下一个数组是:
[
{
conversation_id: 1
},
{
conversation_id: 2
},
{
conversation_id: 4
}
]
考虑到身份不同。如何与前一个进行比较并获得一个包含排除项的数组?
[
{
id: 3
}
]
解决方案
过滤第一个数组并比较每个值,直到找到缺少的 id :
var array1 = [{
id: 1
},
{
id: 2
},
{
id: 3
},
{
id: 4
}
];
var array2 = [{
conversation_id: 1
},
{
conversation_id: 2
},
{
conversation_id: 4
}
];
var test = array1.filter(
conv => !array2.find(
id => id.conversation_id === conv.id
)
);
console.log(test)
推荐阅读
- python - 在 Matplotlib 中扩展 xticks 以在 COLAB 中显示完整数据
- php - PHP | 与数据库的 MAMP 连接问题
- spring-data-redis - 将 redisson 客户端之间的事件循环组共享到不同的 redis 服务器
- javascript - Gsap.js - 沿路径移动 3d 对象
- twitter-bootstrap - 你怎么称呼这种类型的菜单,你如何创建一个?初级网络开发人员
- go - 在 Operator SDK 中混合实现语言 - Helm、Go、Ansible
- javascript - 替换javascript中所有重复的字符
- amazon-web-services - EMR 类路径冲突
- go - 在相同的选择案例中接收和发送
- r - 可以以及如何在 R 中对来自正态分布的一对样本进行互信息测试?