ruby sum values in array by keys
2014-06-10 11:24
447 查看
How to sum
into
I don't understand how to combine array map by keys with inject(&:+) by value in such keys
[["a", 1], ["b", 2], ["c", 3], ["a", 20], ["b", 12], ["c", 5]]
into
[["a", 21], ["b", 14], ["c", 8]]
I don't understand how to combine array map by keys with inject(&:+) by value in such keys
.group_by(&:first).map { |k, v| [k, v.map(&:last).inject(:+)] }
arr = [["a", 1], ["b", 2], ["c", 3], ["a", 20], ["b", 12], ["c", 5]] arr.each_with_object(Hash.new(0)) { |x,hsh| hsh[x[0]] += x[1] }.to_a # => [["a", 21], ["b", 14], ["c", 8]]
x = [["a", 1], ["b", 2], ["c", 3], ["a", 20], ["b", 12], ["c", 5]] y = Hash.new(0) x.each {|a| y[a[0]] += a[1]} y.to_a => [["a", 21], ["b", 14], ["c", 8]]
arr = [["a", 1], ["b", 2], ["c", 3], ["a", 20], ["b", 12], ["c", 5]] arr.group_by(&:first).map { |k,v| [k,v.transpose.last.reduce(:+)]} #=> [["a", 21], ["b", 14], ["c", 8]]
相关文章推荐
- Finding sum of every combination of two numbers in an array in Ruby
- how to merge array of hash based same keys in ruby?
- How to sum values in an array with different hash
- Sort array by values in a separate hash
- Convert Array to Hash while preserving Array index values in Ruby
- Dynamically creating keys/values in JavaScript associative array
- Partially sorting an array in Ruby
- Ruby remove nil values from array with .reject
- How to get array from string contained identical symbols in Ruby?
- Storing Multiple Values in a Map--by Tim O'Brien 整理by博主
- 三维数组按key排序 Sorting a 3-dimensional array by a key in PHP
- find unique values in an array
- Python: Best Way to Exchange Keys with Values in a Dictionary?
- Sorting Array Values in PHP(数组排序)
- Sorting Array Values in PHP(数组排序)
- ypcat - print values of all keys in a NIS database
- count, sum, avg by range in log(n) time
- Wobble Hypothesis - Combination or Permutation of Array of strings in ruby
- Python: Best Way to Exchange Keys with Values in a Dictionary?
- ORA-02266: unique/primary keys in table referenced by enabled foreign keys