我有这两个数组,并有一个简单的方法来过滤来自数据数组和数据2数组的匹配项。但它应该返回两个项目时返回空数组。我究竟做错了什么?过滤两个数组返回空白数组
var data = [{ teamId: 74, teamName: 'Blah' },
{ teamId: 94, teamName: 'Panhi' },
{ teamId: 30, teamName: 'Writer' },
{ teamId: 121, teamName: 'People' },
{ teamId: 85, teamName: 'Perf' },
{ teamId: 31, teamName: 'Tell' },
{ teamId: 32, teamName: 'Gall' },
{ teamId: 137, teamName: 'Bird' },
{ teamId: 79, teamName: 'Blue' },
{ teamId: 119, teamName: 'Red' },
{ teamId: 66, teamName: 'Pluto' },
{ teamId: 56, teamName: 'PolarBear' },
{ teamId: 33, teamName: 'Praxis' },
{ teamId: 62, teamName: 'Purple' }
];
var data2 = [ { id: 1, reId: 52, teamId: 94 },
{ id: 2, reId: 52, teamId: 32 } ];
var found = data.filter(i => i.teamId === data2.teamId);
console.log(found);
数据2是阵列,数据2不包含teamId,所以条件每次失败,并返回空数组 –
它确实包含teamId ..即时通讯混淆.. – Shayuh
可以控制台登录数据2 .teamId, data2是包含teamId的对象数组,如data2 [0] .teamId –