【发布时间】:2013-03-23 13:57:48
【问题描述】:
我有一个对象数组:
[
#<User id: 1, name: "Kostas">,
#<User id: 2, name: "Moufa">,
...
]
我想将其转换为以 id 作为键和对象作为值的哈希。现在我就是这样做的,但我知道有更好的方法:
users = User.all.reduce({}) do |hash, user|
hash[user.id] = user
hash
end
预期输出:
{
1 => #<User id: 1, name: "Kostas">,
2 => #<User id: 2, name: "Moufa">,
...
}
【问题讨论】:
-
@SergioTulentsev,我在看Enumerable#group_by,这几乎就是我要找的。我只是认为它有一个版本,而不是为值构建数组,它更具侵略性并且只保留一个值。
标签: ruby type-conversion