我有一个对象数组,其中每个对象都包含一个ID和一个名称,一个单独的数组包含一组ID。我想根据第二个数组过滤第一个数组。
const data= [
{
id: 1,
name: 'name1'
},
{
id: 2,
name: 'name2'
},
{
id: 3,
name: 'name3'
},
{
id: 4,
name: 'name4'
}
];
const array = [1,3,4];
const expectedResult= [
{
id: 1,
name: 'name1'
},
{
id: 3,
name: 'name3'
},
{
id: 4,
name: 'name4'
}
];
答案 0 :(得分:1)
使用.filter
和.includes
const data= [
{
id: 1,
name: 'name1'
},
{
id: 2,
name: 'name2'
},
{
id: 3,
name: 'name3'
},
{
id: 4,
name: 'name4'
}
];
const array = [1, 3, 4]
const result = data.filter((item) => {
//gives us items that passes a condition
return array.includes(item.id)
})
console.log(result)
答案 1 :(得分:0)
const IDS = [1,2]
const items = [
{id: 1, label: 'a'},
{id: 3, label: 'b'},
{id: 2, label: 'c'},
]
console.log(items.filter(x =>{
for(let id of IDS){
if(id === x.id)
return true
}
return false
}))