D‘
Size: a a a
D‘
D‘
V
D‘
DV
D‘
ML
arr.inject(0) { |sum, obj| sum+=obj.values.sum }
arr.sum {|obj| obj.values.sum }
ML
u
.map { |a| a[:a] }.inject(0, :+)
АШ
>> arr = [ { a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6} ]
>> arr.map(&:values)
=> [[1, 2], [3, 4], [5, 6]]
>> arr.map(&:values).transpose
=> [[1, 3, 5], [2, 4, 6]]
>> arr.map(&:values).transpose.map(&:sum)
=> [9, 12]
RU
АШ
arr.map { |a| a.slice(:a, :b).values }.transpose.map(&:sum)
S
>> arr = [ { a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6} ]
>> arr.map(&:values)
=> [[1, 2], [3, 4], [5, 6]]
>> arr.map(&:values).transpose
=> [[1, 3, 5], [2, 4, 6]]
>> arr.map(&:values).transpose.map(&:sum)
=> [9, 12]
АШ
S
DV
>> arr = [ { a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6} ]
>> arr.map(&:values)
=> [[1, 2], [3, 4], [5, 6]]
>> arr.map(&:values).transpose
=> [[1, 3, 5], [2, 4, 6]]
>> arr.map(&:values).transpose.map(&:sum)
=> [9, 12]
АШ
ВА
.map { |a| a[:a] }.inject(0, :+)
arr.each_with_object(Hash.new(0)) { |hash, sum| hash.each { |k, v| sum[k] += v } }
D‘
arr.each_with_object(Hash.new(0)) { |hash, sum| hash.each { |k, v| sum[k] += v } }
ВА