我发现another question与我拥有的类似,但我无法复制它(可能是因为它不处理哈希,也没有符号)。
因此,给定以下哈希数组:
[{:id=>1, :name=>"AA;AB;AC", :title=>"A row"},
{:id=>2, :name=>"BA;BB", :title=>"B row"},
{:id=>3, :name=>"CA", :title=>"C row"}]
我希望达到以下效果:
[{:id=>1, :name=>"AA", :title=>"A row"},
{:id=>1, :name=>"AB", :title=>"A row"},
{:id=>1, :name=>"AC", :title=>"A row"},
{:id=>2, :name=>"BA", :title=>"B row"},
{:id=>2, :name=>"BB", :title=>"B row"},
{:id=>3, :name=>"CA", :title=>"C row"}]
简而言之,我想完全复制一个散列,并将其拆分为两个子。在这种情况下,:name
有两个散列,其中一个或多个散列应该被拆分并包含在另一个散列中。
我希望你能理解我的问题。任何帮助是高度赞赏。
2条答案
按热度按时间8xiog9wr1#
你可以遍历你的哈希数组,拆分它们的
name
值,然后Map结果,将其与当前哈希合并。然后你可以将结果展平:siotufzp2#
使用
Enumerable#each_with_object