Javascript 如何连接两个可观察对象?

Javascript 如何连接两个可观察对象?,javascript,json,rxjs,Javascript,Json,Rxjs,我需要连接两个json观测值,因为它们最初是从另一个源分离出来的,所以这只是一个示例,因为我也在尝试理解rxJS var obs = Rx.Observable.from([ { id: "1", url: "whatever.jpg"}, { id: "2", url: "whatever2.jpg"}, { id: "3", url: "whatever3.jpg"} ]) var list = Rx.Observable.from([ { first: "Gary", l

我需要连接两个json观测值,因为它们最初是从另一个源分离出来的,所以这只是一个示例,因为我也在尝试理解rxJS

var obs = Rx.Observable.from([
  { id: "1", url: "whatever.jpg"},
  { id: "2", url: "whatever2.jpg"},
  { id: "3", url: "whatever3.jpg"}
])

var list = Rx.Observable.from([
  { first: "Gary", last: "Simon", age: "34"},
  { first: "Jane", last: "Simon", age: "34"},
  { first: "Juan", last: "Simon", age: "34"}
])

// I tried this   
var newObs = Rx.Observable.merge(list,obs)
// and this
var newObs = Rx.Observable.forkJoin(list,obs)
关键是我需要一个大致如下的新json:

[{
    "first": "Gary",
    "last": "Simon",
    "age": "34"
},
{
    "id": "1",
    "url": "whatever.jpg"
}]
我应该如何使用RxJS实现这一点?

使用:

注:

  • 广泛使用的惯例是将
    $
    作为后缀添加到可观察名称中。e、 g.
    obs$
    list$
  • 如果输入观测值的长度不相同。结果将取最短的长度。e、 g.
    obs
    有3项,
    list
    有5项,那么可观察的结果将只发出3项,并跳过
    list
    的最后2项

它连接元素,但如何访问每个值?我看到了json,但我想看到我无法访问的每个值“x=>console.log(x.id)==undefined”尝试
x=>console.log(x[1].id)
([x,y])=>console.log(y.id)
Observable.zip(obs, list).subscribe(([obsItem, listItem]) => console.log(obsItem, listItem));