"b" } , {"c" => "d"} , {"e" => "f"}] 我想创建长度为 min 到 max 的数组散列的所有组合。 例如-6ren">
gpt4 book ai didi

ruby - 创建哈希数组的组合

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:58 24 4
gpt4 key购买 nike

我有一个像这样的数组:

hasharray=[{"a" => "b" } , {"c" => "d"} , {"e" => "f"}]

我想创建长度为 minmax 的数组散列的所有组合。

例如,对于 min=0max=2,代码应返回:

resultarray=[
{},
{"a" => "b" },
{"c" => "d"},
{"e" => "f"},
{"a" => "b" } , {"c" => "d"},
{"c" => "d"} , {"e" => "f"},
{"a" => "b" },{"e" => "f"}
]

我该怎么做?

最佳答案

min = 0
max = 2
min.upto(max).flat_map {|n| hasharray.combination(n).to_a }
# => [
# [],
# [{"a"=>"b"}], [{"c"=>"d"}], [{"e"=>"f"}],
# [{"a"=>"b"}, {"c"=>"d"}], [{"a"=>"b"}, {"e"=>"f"}], [{"c"=>"d"}, {"e"=>"f"}]
# ]

关于ruby - 创建哈希数组的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26216987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com