首页 > 解决方案 > 过滤这个数组的最有效方法是什么?

问题描述

我有两个数组。我的目标是获得第三个数组,其中包含存在于 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 }
 ];

标签: javascriptfilter

解决方案


将数组转换为对象,使用名称作为键和 id 作为值,从更新的 obj 中删除旧 obj 的键,然后将更新的 obj 转换回数组。


推荐阅读