[英]How to return multiple components for each element in a array using map()?
[英]Using rxjs, how to map each element to multiple elements
我懷疑這並不難,但我無法弄清楚該怎么做。 我有一個對象數組,每個對象包含一個數組。 在做了一些額外的處理之后,我想為每個元素檢索一個遠程資源。 我的問題是我的函數返回一個數組,但我希望數組的元素分開。
return Rx.Observable.from([ // 1
{ "rosters": ["a/name1", "b/name2"] },
{ "rosters": ["c/name3", "c/name4"] }])
.map(group => group.rosters) // 2
.map(roster => roster.substring(0, roster.indexOf('/'))) // 3
.distinct() // have I seen this before?
.map(folder => http.get(URL + folder + '/ads.json').map(res => res.json())
.map(adData => adData.ads)
.reduce(/* choose random ad */);
我希望#2處的函數返回數據,使得#3的每個輸入都是一個單獨的字符串。 現在進入#3的是數組(在我的示例中是字符串對)。 謝謝!
在OP以及@tmslnz的幫助下......
將.map(group => group.roster)
更改為.flatMap(group => group.roster)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.