添加数组数组中的每个最后一个元素 - 栏目3

时间:2013-05-02 06:18:58

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个数组数组,如: -

 a=[["product1", "size1", "color1", "quantity1"],["product2", "size2", "color2", "quantity2"],["product3", "size3", "color3", "quantity3"]]

现在上面的数组数组的数量是每个数组中的最后一个元素,例如quantity1,quantity2,quantity3和quantity4.i想要添加每个数量(最后一个元素)以显示总数量 * 等数量1 + quantity2 + quantity3 + quantity4 * 我可以使用inject()方法,任何建议??

2 个答案:

答案 0 :(得分:1)

看看:

total_quantity = a.inject(0){|sum,x| sum + x.last }

每个x都是您的内部数组之一。因此,使用last来获取它的最后一个元素。

免责声明:如果内部数组中的最后一个元素是数字,则此方法有效。如在

a = [["product1", "size1", "color1", 1],["product2", "size2", "color2", 4],["product3", "size3", "color3", 3]]

答案 1 :(得分:1)

a.map{ |i| i.last.to_i }.inject(:+)