这是我的数组

[{:amount=>10, :gl_acct_id=>1, :alt_amount=>20}, {:amount=>20, :gl_acct_id=>2
, :alt_amount=>30}]

我想要结果

[{:amount => 30}] or {:amount = 30}

知道吗?

推荐答案

你可以用inject来计算所有的金额.如果需要的话,你可以把结果放回散列.

arr = [{:amount=>10, :gl_acct_id=>1, :alt_amount=>20}, {:amount=>20, :gl_acct_id=>2, :alt_amount=>30}]    
amount = arr.inject(0) {|sum, hash| sum + hash[:amount]} #=> 30
{:amount => amount} #=> {:amount => 30}

Ruby相关问答推荐

带有虾Ruby 的动态标题

Ruby脚本递归地创建深度嵌套的目录

如何返回此 OOP Ruby 代码最后一行中的变量?

判断一个数组是否是Ruby中另一个数组的子集

Symfony 2assets资源过滤器异常中的指南针

Jekyll 默认安装没有 _layouts 目录

使用 Ruby 将文件从一个目录复制到另一个目录

在 YAML 变量中包含 jekyll / liquid 模板数据?

我如何 expect期望在 RSpec 中引发异常的东西?

按键对哈希进行分组并对值求和

为什么整数除法在许多脚本语言中舍入?

在 Pry 中有相当于 next 的吗?

从 1 开始循环

从命令行使用Bundle 器将 gem 添加到 gemfile

将两个数组组合成哈希

创建一个接受参数散列的 ruby​​ 方法

Ruby哈希中的条件键/值

您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定了 2.1.0

如何使用器重新安装 gem

通过多个分隔符拆分字符串