假设我有 2 个数组,
o = ["16", "16", "119"]
d = ["97", "119", "97"]
需要的输出是这样的:
{16=>[97, 119], 119=>[97]}
我尝试使用 .zip
但它没有用。我该怎么做?
最佳答案
你可以链接group_by
和 with_index
根据 o
中的相应元素对 d
中的元素进行分组:
d.group_by.with_index { |_, i| o[i] }
#=> {"16"=>["97", "119"], "119"=>["97"]}
要获取整数,您必须添加一些to_i
调用:
d.map(&:to_i).group_by.with_index { |_, i| o[i].to_i }
#=> {16=>[97, 119], 119=>[97]}
关于ruby-on-rails - 如何在 rails 中组合 2 个数组,使得没有重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44754236/