如何更新对象数组中的数组

时间:2018-10-01 19:10:30

标签: ruby

我在变量测试中有以下输出

#<someobject customer=[#<someobject product=[#<someobject id='ABC123'>, #<someobject id=''>], id='ADE343'>]>

我正尝试将其结果转换如下:

#<someobject customer=[#<someobject product=['ABC123','DEF143'], id='ADE343'>]>

我可以使用以下方法实现这一目标,但看起来有些过分

test1 = test.customer.map { |p| p.product }.flatten.map { |e| e.id }
test.customer.map { |p| p.product = test1 }
test

还有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

test.customer.tap { |obj| obj.product.map!(&:id) }