Verschmelzen oder summieren Sie 2 Arrays auf "keys" in Ruby

7

Dies ist die Array-Version von: Sum 2 Hash-Attribute mit der gleicher Schlüssel

Ich habe 2 Arrays, zum Beispiel:

%Vor%

Wie kann ich jede auf den ersten Wert summieren (wenn es existiert):

%Vor%     
Agush 17.02.2012, 18:48
quelle

2 Antworten

11

Du könntest es so machen:

%Vor%

Zuerst fügst du die Arrays zusammen mit + , da dir a und b egal sind, du kümmerst dich nur um ihre Elemente. Dann partitioniert das group_by das kombinierte Array nach dem ersten Element, damit mit den inneren Arrays einfach gearbeitet werden kann. Dann müssen Sie nur die zweiten (oder letzten) Elemente der inneren Arrays mit v.map(&:last) und summiere sie mit inject(:+) .

Zum Beispiel:

%Vor%     
mu is too short 17.02.2012, 19:00
quelle
8

Sie können es auch tun den Hash-Weg :

%Vor%     
alf 17.02.2012 19:01
quelle

Tags und Links