通过其他数组中的元素筛选数组对象



我有一个看起来像的数组

const toFilter = [1,4,5]

还有另一个具有类似结构的阵列

const foo = [{id: 1, time:XXX}, {id:2, time:XXX}, {id: 3, time: XXX}.....]

我想从第二个数组中id相同的元素中筛选出第一个数组中的元素(例如,在上面的例子中,id为1的第一个对象将被删除,因为toFilter和fooo看起来像[{id:2, time:XXX}, {id: 3, time: XXX}](

我的代码似乎不起作用:

const pos = result.data.filter((el) => toFilter.includes(!el.id))

你的否定句放错了位置。您想检查toFilter是否不包括id,而不是是否包括id的布尔逆。

const pos  result.data.filter((el) => !toFilter.includes(el.id))

const toFilter = [1,4,5]
const foo = [{id: 1, time:'XXX'}, {id:2, time:'XXX'}, {id: 3, time: 'XXX'}];
const pos = foo.filter((el) => !toFilter.includes(el.id));
console.log(pos);

您可以这样做:

let filteredArray = result.data.filter((el) => !toFilter.includes(el.id));

如果有效,请告诉我!

const toFilter = [1,4,5]
const foo = [{id: 1, time:'asdf'}, {id:2, time:'asdf'}, {id: 3, time: 'asdf'}]
const result = foo.filter(el => !toFilter.includes(el.id))

你把!放错地方了!。

尝试。。。

const pos = result.data.filter((el) => !toFilter.includes(el.id))

最新更新