拆分数组为子阵列 [英] Splitting an array into sub arrays
本文介绍了拆分数组为子阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有hashs的数组,我想闯入子数组的数组。
I have an array of hashs that I would like to break into an array of sub arrays.
有关拆分的触发为:组
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" }
是否有一个快速轨道功能,可以做到这一点还是我需要使用控制断型环,因为我使用COBOL年前...做的:)
Is there a quick rails function that can achieve this or do I need to use a control-break type loop as I did with Cobol years ago... :)
推荐答案
您会想组使用 Enumerable.group_by
函数的数据。
You would want to group your data using the Enumerable.group_by
function.
master.group_by { |item| item[:group] }
这将产生
{
"Red" => [{ id: 7, group: "Red", name: "Grace" },...],
"Black" => ...,
...
}
这篇关于拆分数组为子阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文