我知道forkjoin
需要具有两个可观察值,但是,我有一个可观察值和一个字符串数组。字符串数组需要与可观察对象中的键/值匹配。如果该值不存在,则将基于可观察对象的形状添加新的可观察对象。
const arr = ["ABT", "ABC"]
this.http.get<[]>(`this.someUrl`,)
.pipe(
map((result: []) => {
// result= {userId: "user123", symbol: "ABC", comments: "this is text"}
return res;
}),
);
渴望会返回
{userId: "user123", symbol: "ABT", comments: ""},
{userId: "user123", symbol: "ABC", comments: "this is text"}
一种方法是什么?
答案 0 :(得分:0)
如果我对您的理解正确,那么您的目标是:
const arr = ["ABT", "ABC"]
this.http.get<[]>("this.someUrl",)
.pipe(
map((result: []) => {
return arr.map(value => {
const obj = result.find(a => a.symbol === value);
if (obj) {
return {...result}
} else {
return {...result, symbol: value, comments: ""}
}
});
}),
);
我仍然不明白您要达到的目标,但这应该可以满足您的期望。对于您的问题,这可能也不是最有效的解决方案。