Salut,
Si la fonction Array.uniq est bien pratique pour dédoublonner les items d'un array, je cherche comment faire pour supprimer des hashes contenus dans celui-ci :
L'array est construit comme ça :
productor = Hash.new
productor[:id] = record.productor.id
productor[:quantity] = cart_item.quantity
productors += productor
Ce que je cherche à faire, c'est balayer cet array (OK), retirer les hashes dont le productor est déjà présent dans un autre hash, et surtout incrémenter la quantity du premier hash avec celle du hash qu'on supprime. Vous me suivez ?
Exemple :
Les deux hashes suivants :
productor[:id] = 5
productor[:quantity] = 78
productor[:id] = 5
productor[:quantity] = 44
doivent me donner celui-là :
productor[:id] = 5
productor[:quantity] = 122
J'ai regardé les divers fonctions de la classe Array, mais je vois pas trop celles qui peuvent m'être utiles.
J'ai commencé un truc comme ça :
productors.each do |current_prod|
if current_prod[:id] ==
else
end
end
mais ça me plaît pas du tout !
Merci !
|
il y a 1 jour 19 heures
il y a 6 jours 4 heures
il y a 1 semaine 4 jours
il y a 1 semaine 4 jours
il y a 1 semaine 4 jours
il y a 2 semaines 3 jours
il y a 2 semaines 4 jours
il y a 2 semaines 5 jours
il y a 2 semaines 6 jours
il y a 3 semaines 1 jour