gpt4 book ai didi

Ruby 循环数组并为每个数组对象创建哈希

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:52 25 4
gpt4 key购买 nike

我想遍历一个数组并为数组中的每个对象创建一个散列,然后将所有这些散列分组到一个散列数组中。

这是我的起始数组示例:

urls = ["http://stackoverflow.com", "http://example.com", "http://foobar.com"]

现在假设我想将每个 URL 的哈希值放入一个数组中,如下所示:

urls =[ { 
'url' => "http://stackoverflow.com",
'dns_status' => "200",
'title' => "Stack Overflow"
},
{
'url' => "http://example.com",
'dns_status'=> "200",
'title' => "Example"
}
]

撇开我在示例中获取 dns_statustitle 键的值的位置不谈,我想我缺少的是如何遍历原始数组和为每个对象创建一个散列...

我玩过 injectcollectmapeach 并通读了文档,但是不能完全理解它或使任何东西起作用。

有什么推荐吗?使用类(class)会更容易完成吗?

编辑:

感谢大家的帮助。弄清楚了这一点并让它发挥作用。干杯!

最佳答案

对可枚举对象的每个元素做一些事情并将结果存储在数组中:这就是map。做。在 block 中指定您想要的内容,如下所示:

urls = ["http://stackoverflow.com", "http://example.com", "http://foobar.com"]
p res = urls.map{|url| {"url"=>url, "dns_status"=>200, "title"=>url[7..-5]} }

#=> [{"url"=>"http://stackoverflow.com", "dns_status"=>200, "title"=>"stackoverflow"}, {"url"=>"http://example.com", "dns_status"=>200, "title"=>"example"}, {"url"=>"http://foobar.com", "dns_status"=>200, "title"=>"foobar"}]

关于Ruby 循环数组并为每个数组对象创建哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24785672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com