我有一个看起来像的数组
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))