javascript - 过滤这个数组的最有效方法是什么?
问题描述
我有两个数组。我的目标是获得第三个数组,其中包含存在于 usersUpdated 但不存在于 oldUsers 中的用户。我知道我必须应用多个过滤器,但我不知道如何。
const oldUsers = [
{ name: 'Fede', id: 1 },
{ name: 'Marce', id: 2 },
];
const usersUpdated = [
{ name: 'Fede', id: 1 },
{ name: 'Marce', id: 2 },
{ name: 'Ale', id: 3 },
{ name: 'Julian', id: 4 },
];
const expectedValue = [
{ name: 'Ale', id: 3 },
{ name: 'Julian', id: 4 }
];
解决方案
将数组转换为对象,使用名称作为键和 id 作为值,从更新的 obj 中删除旧 obj 的键,然后将更新的 obj 转换回数组。
推荐阅读
- javascript - 如何在方法单击时更新 sessionStorage 中的值?
- javascript - 如何在 String 对象的原型上实现这个测试?
- bash - bash脚本中的列表积累
- python - 代码仅在 Jupyter 中有效,但当我直接从桌面运行时脚本不断崩溃
- c# - C# - Microsoft Graph API - 从自定义列表中获取图片
- sql - SQLite 最多检查两位小数
- go - 启动 Go HTTP 服务器,做一些事情,然后在任务完成后将其关闭
- css-grid - CSS网格重叠单元格而不破坏正常流程
- flutter - 对于 Aqueduct 服务器来说,什么是好的 Flutter 客户端?
- keras - Inception V3 可以使用 150x150x3 的图像尺寸吗?