我有一个充满哈希的数组,我希望将特定键组合到一个新的哈希,例如。
[{ firstname: 'john', lastname: 'doe', something: 'else', key: ... }, { firstname: 'Joe', lastname: 'something', something: 'bla', key:... }]
应该成为
[{ name: 'john doe' },{ name: 'Joe something' }]
请注意:哈希中有更多的键作为名字和姓氏。有没有一个常见的ruby方法来做到这一点?谢谢!
答案 0 :(得分:2)
就这样做
array = [{ firstname: 'john', lastname: 'doe' }, { firstname: 'Joe', lastname: 'something' }]
array.map { |h| { :name => h.values_at(:firstname, :lastname) * " " } }
# => [{:name=>"john doe"}, {:name=>"Joe something"}]
答案 1 :(得分:2)
这是:
a = [{ firstname: 'john', lastname: 'doe' }, { firstname: 'Joe', lastname: 'something' }]
a.map { |n| { name: n.values.join(' ') } }
# => [{:name=>"john doe"}, {:name=>"Joe something"}]