我正在尝试编写一个可以获取哈希列表并根据任意数量的字段的内容创建嵌套列表的子列表。我只是无法正确设置递归。我从数据库中获取了一堆错误数据,并希望将数据分组到任意字段列表(团队、优先级等)上。我真的没有任何我认为足够接近的示例代码
下面的例子
我有以下 DS:
$ds =
[
{
foo => 'A',
bar => 'B',
baz => 'C',
},
{
foo => 'A',
bar => 'B',
baz => 'F',
},
{
foo => 'A',
bar => 'D',
baz => 'G',
},
{
foo => 'R',
bar => 'J',
baz => 'G',
}
]
给定以下函数调用
# prototype groupBy(data, field-1,field-2,field-n)
groupBy($ds,'foo','bar');
我想要以下输出
$res = {
A => {
B => [
{
foo => 'A',
bar => 'B',
baz => 'C',
},
{
foo => 'A',
bar => 'B',
baz => 'F',
}
],
D => [
{
foo => 'A',
bar => 'D',
baz => 'G',
}
],
},
R => {
J => [
{
foo => 'R',
bar => 'J',
baz => 'G',
}
}
};