【发布时间】:2021-10-15 13:02:31
【问题描述】:
我有一个列表,其中包含类似于此的哈希:
list = [{"created_at"=>"2016-11-07T18:49:51.000Z",
"updated_at"=>"2016-11-07T18:49:51.000Z",
"id"=>1,
"name"=>"Test1",
"title"=>"Test1",
"description"=>""},
{"created_at"=>"2017-05-24T13:34:13.000Z",
"updated_at"=>"2017-05-24T13:34:13.000Z",
"id"=>23,
"name"=>"Test2",
"title"=>"Test2",
"description"=>nil}]
我希望能够遍历这个散列列表并创建一个新散列,其中只有 id 的值作为键,名称的值作为键的值。目前我的解决方案是这样的:
def new_hash(list)
@new_hash = Hash.new
list.each do | x |
@new_hash[x["id"]] = x["name"]
end
end
这会产生一个像这样的哈希:
{1=>"Test1", 23=>"Test2"}
我的问题是,在 Ruby 中有没有更优雅的方法来解决这个问题?
【问题讨论】: