gpt4 book ai didi

ruby - 多个数组的排列

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

目前我可以这样得到一个二项数组的所有排列:

[[:a, :b], [:c, :d]].reduce(&:product)
# => [[:a, :c], [:a, :d], [:b, :c], [:b, :d]]

但是,当我尝试对三项数组执行相同操作时,我没有得到想要的结果:

[[:a, :b], [:c, :d], [:e, :f]].reduce(&:product)
# => [[[:a, :c], :e], [[:a, :c], :f], [[:a, :d], :e], [[:a, :d], :f]]

预期的结果是:

[[:a, :c, :e], [:a, :c, :f], [:a, :d, :e], [:a, :d, :f] ...]

最佳答案

data = [[:a, :b], [:c, :d], [:e, :f]]
data[0].product(*data[1..-1])
# => [[:a, :c, :e], [:a, :c, :f], [:a, :d, :e], [:a, :d, :f], [:b, :c, :e], [:b, :c, :f], [:b, :d, :e], [:b, :d, :f]]

并且您可以使用更多数组扩展您的数据

关于ruby - 多个数组的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410742/

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