2014-12-02 77 views
1

我試圖使用rails gem爲Spotify API查找特定專輯的藝術家。我會通過檢索專輯的名稱作爲這樣開始:使用Spotify API查找專輯的藝術家

album_results = RSpotify::Album.search("The Eminem Show") 

爲了找到那張專輯的藝術家,我發表瞭如下方法上面的變量:

album_results.artists 

這將返回大量的數據的我不需要。我想要的只是藝術家的名字。我能夠做部分完成:

album_results.first.artists.first.name 
=> "Eminem" 

我想什麼它做的是返回名稱的所有可用藝術家的所有專輯搜尋結果。我嘗試使用select方法,但再一次得到了太多數據,我想要的東西:

album_results.select {|album| album.artists} 

什麼是完成這一任務的最佳方法?

回答

0

使用select此處將返回所有記錄與artists

您需要爲使用collectmap

my_artists = album_results.flat_map{ |album| 
    album.artists.collect{|artist| artist.name} 
} 

編輯

使用flat_map它默認返回扁平陣列。

比使用collectflatten!

+0

使用更有效的'flat_map'代替外'collect'隨後'拉平!'。 – 2014-12-02 08:48:41

+0

@theTinMan編輯。 – shiva 2014-12-02 09:47:13

相關問題