我有一个散列数组,我想把它分解成一个子数组。
拆分的触发器是:group
master = []
master << { id: 1, group: "Brown", name: "Fred" }
master << { id: 2, group: "Brown", name: "May" }
master << { id: 3, group: "Brown", name: "Brian" }
master << { id: 4, group: "Black", name: "Sue" }
master << { id: 5, group: "Orange", name: "Helen" }
master << { id: 6, group: "Orange", name: "Peter" }
master << { id: 7, group: "Red", name: "Grace" }
master << { id: 8, group: "Red", name: "Michael" }
master << { id: 9, group: "Red", name: "Paul" }
是否有一个快速的rails功能可以实现这一点,还是我需要使用控制中断类型循环,就像我几年前对Cobol做的那样.:)
发布于 2014-11-24 22:04:56
您可能希望使用Enumerable.group_by
函数对数据进行分组。
master.group_by { |item| item[:group] }
这会产生
{
"Red" => [{ id: 7, group: "Red", name: "Grace" },...],
"Black" => ...,
...
}
发布于 2014-11-24 21:39:36
master.group_by{|h| h[:group]}
https://stackoverflow.com/questions/27114300
复制相似问题