如何将两个不同的哈希数组中的值添加在一起?

2024-05-14

我有两个哈希数组。哈希值的键不同:

player_scores1 = [{:first_name=>"Bruce", :score => 43, :time => 50},
                  {:first_name=>"Clark", :score => 45, :minutes => 20}]

player_scores2 = [{:last_name=>"Wayne", :points => 13, :time => 40},
                  {:last_name=>"Kent", :points => 3, :minutes => 20}]

我想创建一个新的哈希数组,将 :score 和 :points 加在一起,并将其分配给名为 :score 的键。我还想组合 :first_name 和 :last_name 并将其分配给名为 :full_name 的键。我想丢弃任何其他密钥。

这将导致这个数组:

all_players = [{:full_name => "Bruce Wayne", :score => 56}, 
               {:full_name => "Clark Kent", :score => 48}]

有没有一种优雅的方法来做到这一点?


像这样的事情:

player_scores1.zip(player_scores2).map { |a,b|
    {
        :full_name => a[:first_name]+' '+b[:last_name],
        :score => a[:score]+b[:points]
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将两个不同的哈希数组中的值添加在一起? 的相关文章

随机推荐