65 votes

Additionner la valeur du tableau en hachage

Voici mon tableau

Je veux un résultat

Une idée ?

88voto

Santosh Points 6791

Les versions Ruby >= 2.4.0 ont une méthode Enumerable#sum. Donc, vous pouvez faire

71voto

Zsolt Hanko Points 724

array.map { |h| h[:amount] }.sum

65voto

sepp2k Points 157757

Vous pouvez utiliser `` pour additionner tous les montants. Vous pouvez ensuite simplement remettre le résultat dans un hachage si vous en avez besoin.

12voto

Jörg W Mittag Points 153275

Voici une façon de le faire:

Cependant, j’ai l’impression que votre modèle objet manque quelque peu. Avec un meilleur modèle objet, vous seriez probablement en mesure de faire quelque chose comme :

Ou même tout simplement

Notez que, comme @sepp2k souligné, si vous voulez sortir un , vous devez l’envelopper dans un nouveau.

4voto

Luis Tofoli Points 31
[{
    :amount=>10,
    :gl_acct_id=>1,
    :alt_amount=>20
},{
    :amount=>20,
    :gl_acct_id=>2,
    :alt_amount=>30
}].sum { |t| t[:amount] }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X