Javascript 使用数组在对象数组中进行JS搜索

Javascript 使用数组在对象数组中进行JS搜索,javascript,arrays,Javascript,Arrays,我想从id数组中包含相同id的数据数组中删除所有对象。如何在不循环的情况下完成此任务 const id=[1,2]; 常数数据=[ {id:1}, {id:2}, {id:3} ]; 控制台日志(数据)您可以尝试使用 filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素 以及: includes()方法确定数组的条目中是否包含某个值,并根据需要返回true或false const id=[1,2]; 常数数据=[ {id:1}, {id:2}, {id:3} ];

我想从id数组中包含相同id的数据数组中删除所有对象。如何在不循环的情况下完成此任务

const id=[1,2];
常数数据=[
{id:1},
{id:2},
{id:3}
];
控制台日志(数据)您可以尝试使用

filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素

以及:

includes()
方法确定数组的条目中是否包含某个值,并根据需要返回true或false

const id=[1,2];
常数数据=[
{id:1},
{id:2},
{id:3}
];
var res=data.filter(i=>!id.includes(i.id));
控制台日志(res)
您可以使用
.filter()
.includes()
来过滤对象

const id=[1,2];
让数据=[
{id:1},
{id:2},
{id:3}
];
data=data.filter((item)=>(!id.includes(item.id));

控制台日志(数据)您可以使用lodash的uniqBy方法

const uniqArray=qby([{'id':1},{'id':2},{'id':1},'id');
console.log(uniqArray)

这一问题在中被问了很多次,因此我将其作为注释:
const filtered=data.filter((item)=>id.includes(item.id))
和的可能重复项
let newData = data.filter(item => !id.includes(item.id));
console.log(newData);