【发布时间】:2020-11-12 17:53:38
【问题描述】:
我试图找出两个非常相似的 observables 之间的区别,根据共享的 ID 字段从另一个中删除一个值。我已经尝试过这个问题的答案:
Difference between two observables
const inActiveUsers = combineLatest(storedUsers$, activeUsers$).pipe(
map(([storedUsers, activeUsers]) => {
const activeUsersIds: Map<string, undefined> = activeUsers.reduce(
(acc: Map<string, undefined>, item) => {
acc.set(item.id, undefined)
return acc;
},
new Map()
);
return storedUsers.filter(item => !activeUsersIds.has(item.id));
})
)
inActiveUsers.subscribe(inActiveUsers => {
this.inActiveUsers = inActiveUsers;
});
但它似乎只是取出了其中一条记录(大概是最后一条?)。
谁能给点建议?
【问题讨论】:
-
我不明白。什么类型的storedUsers$ 和activeUsers$?可观察?你在用什么?
-
我认为这个概念不好。我会完全不同。我只是不知道什么类型的变量。