[[1, 20],[2,30],[1,5],[4,5]]
在 ruby 中,如果第一个元素与输出相同,如何遍历这个数组并添加第二个元素,例如:
[[1, 25],[2,30],[4,5]]
最佳答案
如果顺序不重要,将对插入散列,如果键已经存在则添加,然后将散列展平回数组是一种巧妙的方法。在 irb 中:
>> a = [[1, 20],[2,30],[1,5],[4,5]]
=> [[1, 20], [2, 30], [1, 5], [4, 5]]
>> a.inject(Hash.new(0)) { |h, p| h[p[0]] += p[1]; h }.to_a
=> [[1, 25], [2, 30], [4, 5]]
关于Ruby:在第一个元素相同的数组中添加第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2827292/