Angular 如果值存在于另一个可观察值中,则修改可观察值
我想比较两个可观测值,如果第二个可观测值中存在值,则修改源可观测值 例如:Angular 如果值存在于另一个可观察值中,则修改可观察值,angular,rxjs,Angular,Rxjs,我想比较两个可观测值,如果第二个可观测值中存在值,则修改源可观测值 例如: [ { value: 3 } ] [ { value: 1 exists: false }, { value: 2 exists: false }, { value: 3 exists: true } ] 像这样的东西行吗 let obs2$ = Rx.Observa
[
{
value: 3
}
]
[
{
value: 1
exists: false
},
{
value: 2
exists: false
},
{
value: 3
exists: true
}
]
像这样的东西行吗
let obs2$ = Rx.Observable.of(2,4,6,8);
let obs1$ = Rx.Observable.of(1, 2, 3, 5, 6, 7)
.switchMap(x=> obs2$
.first(v => v===x, v=>true, false)
.map(exist => ({exist:exist, value:x})))
.subscribe(x=>console.log(x))
这是朝着正确的方向发展的,我觉得,如何根据您提供的数字返回一个类似于[{1,false},{2,true},{3,false},{5,false},{6,true},{7,false},{8,false}]的数组。{1,false}是不正确的javascript对象。javascript有key:value格式,其中key是字符串。你不能那样返回它。我的意思是像这样[{value:2 exists:false},{value:3 exists:true}]还有一个不同的操作符