【发布时间】:2017-01-12 09:08:55
【问题描述】:
我在玩http://reactivex.io/learnrx/。为了更好地学习 rxjs。
我正在处理的数组如下。我只是想把 id 从数组中取出。
我能够得到工作的答案,但觉得答案可以写得更好。
var movieLists = [
{
name: "New Releases",
videos: [
{
"id": 70111470,
"title": "Die Hard",
"boxart": "http://cdn-0.nflximg.com/images/2891/DieHard.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": 4.0,
"bookmark": []
},
{
"id": 654356453,
"title": "Bad Boys",
"boxart": "http://cdn-0.nflximg.com/images/2891/BadBoys.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": 5.0,
"bookmark": [{ id: 432534, time: 65876586 }]
}
]
},
{
name: "Dramas",
videos: [
{
"id": 65432445,
"title": "The Chamber",
"boxart": "http://cdn-0.nflximg.com/images/2891/TheChamber.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": 4.0,
"bookmark": []
},
{
"id": 675465,
"title": "Fracture",
"boxart": "http://cdn-0.nflximg.com/images/2891/Fracture.jpg",
"uri": "http://api.netflix.com/catalog/titles/movies/70111470",
"rating": 5.0,
"bookmark": [{ id: 432534, time: 65876586 }]
}
]
}
];
这是我想出的答案
movieLists
.map( movieList => movieList.videos
.map(video => video.id) ) // don't like this part
.concatAll()
我基本上是在另一个地图中嵌套一个地图,然后调用 concat all。
是否可以重构第二个地图粗箭头,使其可以位于第一个之外?
.map()
.map()
【问题讨论】:
标签: ecmascript-6 rxjs reactive-programming