Ruby:使用数组的默认键值创建哈希值
发布时间:2020-12-17 02:50:25 所属栏目:百科 来源:网络整理
导读:我相信之前在一个稍微不同的背景下已经被问过/回答了,我已经看到了一些与此类似的例子的答案 – 但似乎没有任何东西完全适合. 我有一系列的电子邮件地址: @emails = ["test@test.com","test2@test2.com"] 我想从这个数组中创建一个哈希,但它必须如下所示:
我相信之前在一个稍微不同的背景下已经被问过/回答了,我已经看到了一些与此类似的例子的答案 – 但似乎没有任何东西完全适合.
我有一系列的电子邮件地址: @emails = ["test@test.com","test2@test2.com"] 我想从这个数组中创建一个哈希,但它必须如下所示: input_data = {:id => "#{id}",:session => "#{session}",:newPropValues => [{:key => "OWNER_EMAILS",:value => "test@test.com"},{:key => "OWNER_EMAILS",:value => "test2@test2.com"}] 我认为哈希中的哈希数组会让我失望.但我已经玩过注入,更新,合并,收集,映射,并且没有运气生成这种类型的动态哈希,需要根据@emails数组中的条目数创建. 有没有人对如何解决这个问题有任何建议? 解决方法
所以基本上你的问题是这样的:
有这个数组: emails = ["test@test.com","test2@test2.com",....] 你想要一个像这样的哈希数组: output = [{:key => "OWNER_EMAILS",:value => "test2@test2.com"},...] 一个解决方案是: emails.inject([]){|result,email| result << {:key => "OWNER_EMAILS",:value => email} } 更新:当然我们可以这样做: emails.map {|email| {:key => "OWNER_EMAILS",:value => email} } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |