首页 > 解决方案 > 如果其中一个值是数组,则重新创建对象

问题描述

我有这个:

{:foo => "bar", :john => "doe", :value => [1, 2, 3]}

我想:

{:foo => "bar", :john => "doe", :value => 1}
{:foo => "bar", :john => "doe", :value => 2}
{:foo => "bar", :john => "doe", :value => 3}

任何帮助表示赞赏。

标签: ruby

解决方案


my_obj = {:foo => "bar", :john => "doe", :value => [1, 2, 3]}

if my_obj[:value].kind_of? Array
  my_obj = my_obj[:value].map{|v| {:foo => my_obj[:foo], :john => my_obj[:john], :value => v} }
end

推荐阅读