使用Spotify API查找相册的艺术家

时间:2014-12-02 03:38:37

标签: ruby-on-rails ruby arrays spotify-app

我正在尝试使用rails Spotify API的gem来查找特定专辑的艺术家。我将首先检索相册的名称:

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}

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

在此处使用select将返回artists的所有记录。

您需要使用collectmap

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

修改

使用flat_map默认返回一个展平的数组。

比使用collectflatten!

更有效率