拆分数组为子阵列 [英] Splitting an array into sub arrays

查看:81
本文介绍了拆分数组为子阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆