我已经找到了在JS中完成的问题的解决方案,但我需要在Ruby(RoR)中完成该工作。这里是链接问题和解决方案:Find average value for array of hashes using multiple group by用多个键组合散列数组以找到Ruby中的平均数
所以我有哈希值的阵列,需要通过按键(第一subject_id
然后element_id
),然后找到平均值为他们进行分组。数组中的散列数量不固定。
下面是输入数组:
a=[
{:subject_id=>1, :element_id=>2, :value=>55},
{:subject_id=>1, :element_id=>4, :value=>33},
{:subject_id=>1, :element_id=>2, :value=>33},
{:subject_id=>1, :element_id=>4, :value=>1},
{:subject_id=>1, :element_id=>2, :value=>7},
{:subject_id=>1, :element_id=>4, :value=>4},
{:subject_id=>2, :element_id=>2, :value=>3},
{:subject_id=>2, :element_id=>2, :value=>5},
{:subject_id=>2, :element_id=>4, :value=>9}
]
结果:
b=[
{:subject_id=>1, :element_id=>2, :value=>95},
{:subject_id=>1, :element_id=>4, :value=>38},
{:subject_id=>2, :element_id=>2, :value=>8},
{:subject_id=>2, :element_id=>4, :value=>9}
]
是的,谢谢你指出,那是一个错误 – user7754069