首页 > 解决方案 > 返回数组中匹配项的值

问题描述

我有两个数组,我想比较并返回匹配的数组的相应值。

以“id”变量为参考,我想返回所有匹配的快餐食品值,但只返回“名称”。

我的预期结果是返回 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);

标签: javascriptarraysfilterfind

解决方案


这有帮助吗?

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);


推荐阅读