我有一个对象数组,我正试图通过值列表进行筛选:
var idlist = [
{
id: '1',
},
{
id: '3',
},
{
id: '2',
},
{
id: '6',
},
]
var values = ['1', '6', '3']
我发现的一种方法是将我的列表转换为一个对象,然后使用进行过滤
value.filter(k =>
obj.find(v => v.id === k.id)
)
然而,我觉得这是我不需要的额外步骤。有没有更简单的解决方案?我想要的输出是新id列表
[
{
id: '1',
},
{
id: '3',
},
{
id: '6',
},
]
谢谢!
只需使用
idlist.filter(f => values.includes(f.id))
var idlist = [{
id: '1',
},
{
id: '3',
},
{
id: '2',
},
{
id: '6',
},
]
var values = ['1', '6', '3']
console.log(idlist.filter(f => values.includes(f.id)))