Javascript 查找包含稍微不同对象的两个数组的交点
我试图从两个不同的数组中找到交点,它们包含稍微不同的对象 例如: 常数arr1=[ { 电话:1234, 识别号码:34782, 名字:约翰, 姓:史密斯, 电邮:test1@test.com, }, { 电话:1232, 识别号码:34783, 名字:乍得, 姓:贝克, 电邮:test2@test.com, } ]; 常数arr2=[ { uuid:0123, 名字:约翰, 姓:史密斯, 职务:主任 }, { uuid:0125, 名字:山姆, 姓:赫斯特, 职务:经理 } ] 常量arr3=arr1.filterobject=>arr2.includeObject;Javascript 查找包含稍微不同对象的两个数组的交点,javascript,arrays,Javascript,Arrays,我试图从两个不同的数组中找到交点,它们包含稍微不同的对象 例如: 常数arr1=[ { 电话:1234, 识别号码:34782, 名字:约翰, 姓:史密斯, 电邮:test1@test.com, }, { 电话:1232, 识别号码:34783, 名字:乍得, 姓:贝克, 电邮:test2@test.com, } ]; 常数arr2=[ { uuid:0123, 名字:约翰, 姓:史密斯, 职务:主任 }, { uuid:0125, 名字:山姆, 姓:赫斯特, 职务:经理 }
console.logarr3 试着这样做: 常数arr1=[{ 电话:1234, 识别号码:34782, 名字:约翰, 姓:史密斯, 电邮:test1@test.com, }, { 电话:1232, 识别号码:34783, 名字:乍得, 姓:贝克, 电邮:test2@test.com, } ]; 常数arr2=[{ uuid:0123, 名字:约翰, 姓:史密斯, 职务:主任 }, { uuid:0125, 名字:山姆, 姓:赫斯特, 职务:经理 } ] 常量arr3=arr1.filtervalue=> arr2.somevalue2=> value.firstName===value2.firstName&&value.lastName===value2.lastName ;
console.logarr3 我想你可以试试这个:
arr1.filter(item1 => (arr2.find(item2 => (item2.firstName == item1.firstName && item2.lastName == item1.lastName)) != undefined));
它使用arr2.find函数检查它是否包含具有相同firstName和lastName属性的某些项。可能存在重复项