Javascript:检查数组元素是否包含来自另一个数组的元素



我有下面的数组-

Array(12)
[
{username:"abc" , userpid:"M123"},
{username:"xyz" , userpid:"T234"},
{username:"mnp" , userpid:"L678"}
.
.
]

我有另一个数组作为-

Array (6)
[
{projectname:"corporate" , projecttype:"oil" userpid:"M123"},
{projectname:"corporate" , projecttype:"oil" userpid:"K123"},
{projectname:"corporate" , projecttype:"oil" userpid:"P123"},
.
.
]

在这里,我想过滤掉第一个数组中userpid不在第二个数组中的所有元素。例如,第二个数组中存在userpid M123,这就是输出的原因

[
{username:"xyz" , userpid:"T234"},
{username:"mnp" , userpid:"L678"}
]
I tried with - 
array1.some(x=>x.userpid!=(array2.filter(y=>y.userpid)))

但这是一个语法错误。

类似的东西

const arr1 = [
{username:"abc" , userpid:"M123"},
{username:"xyz" , userpid:"T234"},
{username:"mnp" , userpid:"L678"}];
const arr2 = [
{projectname:"corporate", projecttype:"oil", userpid:"M123"},
{projectname:"corporate", projecttype:"oil", userpid:"K123"},
{projectname:"corporate", projecttype:"oil", userpid:"P123"},];
const result = arr1.filter(item => !arr2.some(v => item.userpid === v.userpid));
console.log(result);

相关内容

最新更新