ruby – 按键分组哈希值,后跟值

ruby – 按键分组哈希值,后跟值,第1张

概述假设我有以下数据集 [ { :name => "sam", :animal => "dog", :gender => "male" }, { :name => "max", :animal => "cat", :gender => "female" }, { :name => "joe", :animal => "sna 假设我有以下数据集

[   {    :name => "sam",:animal => "dog",:gender => "male"  },{    :name => "max",:animal => "cat",:gender => "female"  },{    :name => "joe",:animal => "snake",:gender => "male"  }    ]

你如何将哈希数组分组为:

{  :name => ["sam","max","joe"]  :animal => ["dog","cat","snake"]  :gender => ["male","female","male"]}

我读过类似的文章,如this和Group array of hashes by key

但是,大多数示例将值返回为增量计数,其中我正在寻找实际的单独值.

我的尝试

keys = []values = []arr.each do |a|  a.each do |k,v|    keys << k    #this is where it goes wrong and where I'm stuck at    values << v  endendkeys = keys.uniq

我明白我出错的地方是我如何分割价值观.任何方向将不胜感激!

解决方法
input.reduce { |e,acc| acc.merge(e) { |_,e1,e2| [*e2,*e1] } }#⇒ {:name=>["sam","joe"],#   :animal=>["dog","snake"],#   :gender=>["male","male"]}
总结

以上是内存溢出为你收集整理的ruby – 按键分组哈希值,后跟值全部内容,希望文章能够帮你解决ruby – 按键分组哈希值,后跟值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1287665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存