我有一个对象数组,它们有一个数组作为属性。我想连接这些属性。我这样做:
result = []
objects.each { |obj| result.concat(obj.attr) }
虽然有效,但看起来很糟糕。我试过了
objects.reduce(:attr)
哪个不起作用。它是一个Rails应用程序,我想将相关项连接到一个数组中。我想要这个:
[{
attr: [1,2]
},{
attr: [3,4]
}]
变成这个:
[1,2,3,4]
答案 0 :(得分:2)
您需要使用Array#map
: -
result = objects.map { |obj| obj.attr }
如果您想要展平result
数组: -
result = objects.flat_map { |obj| obj.attr }