我有一个看起来像
的数组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))
答案 0 :(得分:2)
您的negation放在错误的位置。您要检查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);
答案 1 :(得分:1)
您可以这样操作:
let filteredArray = result.data.filter((el) => !toFilter.includes(el.id));
让我知道是否可行!
答案 2 :(得分:0)
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))
答案 3 :(得分:0)
您!
在错误的位置!。
尝试...
const pos = result.data.filter((el) => !toFilter.includes(el.id))