返回数组中匹配项的值



我有两个数组,我想比较它们并返回匹配的数组的各自值。

以'id'变量作为引用,我想返回fastFood的所有匹配值,但只有'name'。

我期望的结果是返回Five Guys和KFC,但是,它返回了整个对象。

let id = ['1234'];
let fastFood = [
{_id:'4391', name: "McDonalds"}, 
{_id:'7654', name: "Burger King"}, 
{_id:'8765', name: "Dominos"}, 
{_id:'1234', name: "Five Guys"}, 
{_id:'9876', name: "Subway"}, 
{_id:'1234', name: "KFC"}
];

const findFastFood = ids.filter((item) => {
if (item._id.indexOf(id) !== -1) {
return item.name;
}
});
console.log(findFastFood);

这有帮助吗?

let id = ['1234'];
let fastFood = [{
_id: '4391',
name: "McDonalds"
},
{
_id: '7654',
name: "Burger King"
},
{
_id: '8765',
name: "Dominos"
},
{
_id: '1234',
name: "Five Guys"
},
{
_id: '9876',
name: "Subway"
},
{
_id: '1234',
name: "KFC"
}
];

const findFastFood = fastFood.filter((item) => {
if (id.indexOf(item._id) !== -1) {
return item.name
}
}).map(obj => obj.name);

console.log(findFastFood);