Я работаю с несколькими массивами с одной строкой и целым числом. Мне удалось собрать дубликаты во вложенных массивах, поскольку я хочу их объединить. Так как я петлю над моим родительским массивом выводит это:Объединение массивов и целых чисел
[["word", 1, 1, 3, 4], ["word", 2, 1, 3, 4]]
и другой пример:
[["without", 1, 1, 3, 4], ["without", 2, 1, 3, 4], ["without", 3, 1, 0, 0]]
Я хочу, чтобы функция, чтобы объединить их в один массив и просуммировать целые числа. Таким образом, первым примером, приведенным выше, станет:
["word", 3, 2, 6, 8]
Я пробовал много разных методов, таких как ввод и сокращение. Моя последняя попытка не самая элегантная:
# data is set of array
def inject_array(data)
clicks = 0
imps = 0
cost = 0
converted_clicks = 0
data.each do |i|
clicks += i[1]
i[1] = clicks
imps += i[2]
i[2] = imps
cost += i[3]
i[3] = cost
converted_clicks += i[4]
i[4] = converted_clicks
end
Это становится немного грязным, есть ли более чистый способ?
Не уверен, что мне что-то не хватает, но не лучше ли отслеживать сумму, используя хэш? – NigoroJr