我遇到一种情况,一个可观察对象返回一个对象列表,我想过滤掉那些已经在单独数组中的对象。
例如:
opinables
.pipe(
map((opinables: Opinable[]) => {
return opinables.filter(
(opinable: Opinable) => !ids.includes(opinable.id)
);
})
)
.subscribe((opinables: Opinable[]) => this._opinables.push(...opinables));
我不明白的是为什么我需要将过滤器封装在地图中。
我的理解是将过滤器应用于列表,并删除提供的函数返回false的那些元素。
地图改为将函数应用于列表的每个元素。
因此,即使以为上面的代码片段都起作用,它似乎在做的就是将过滤器应用于列表的每个元素,这似乎是错误的,因为我大概希望将过滤器应用于列表本身?