У меня есть 2 массивы хэшей:Объединение нескольких массивов хэшей и выполнять вычисление
charges = [
{:created=>"2014-01-28", :charge=>43677},
{:created=>"2014-01-29", :charge=>37980},
{:created=>"2014-01-30", :charge=>87354},
{:created=>"2014-01-31", :charge=>43677}
]
fees = [
{:created=>"2014-01-28", :fee=>3230},
{:created=>"2014-01-29", :fee=>2380},
{:created=>"2014-01-30", :fee=>2210},
{:created=>"2014-01-31", :fee=>1870}
]
Что мне нужно сделать, это взять fees
и вычесть их из charges
на каждую дату и выдать вычисленный сумму, как так :
totals = [
{:created=>"2014-01-28", :amount=>40447},
{:created=>"2014-01-29", :amount=>35600},
{:created=>"2014-01-30", :amount=>85144},
{:created=>"2014-01-31", :amount=>41870}
]
Обратите внимание, что не может быть как плата, так и плата за данный день. Поэтому в случае без комиссии вы просто ничего не вычтите (или вы вычтите 0
). В случае сборов, но без сборов, у вас будет отрицательное число.
Не вы просто задать подобный вопрос [] (http://stackoverflow.com/questions/21535854/group и-сумма-массив из-хэшей по дате)? Ответ очень похож. –
@ChrisHeald Это занимает 2 отдельных массива хэшей., Нахожу совпадающую дату для каждого, вычитая числа, а затем выплевывая новый массив хэшей. Предыдущий вопрос включал один массив хэшей. – Shpigford