J'ai deux tableaux
a = [1, 2, 3, 4, 5]
b = [2, 4, 6]
Je voudrais fusionner les deux tableaux, puis supprimer les valeurs identiques à celles des autres tableaux. Le résultat devrait être:
c = [1, 3, 5, 6]
J'ai essayé de soustraire les deux tableaux et le résultat est [1, 3, 5]. Je veux aussi obtenir les valeurs du second tableau qui n'a pas été dupliqué du premier tableau.
Vous pouvez faire ce qui suit!
# Merging
c = a + b
=> [1, 2, 3, 4, 5, 2, 4, 6]
# Removing the value of other array
# (a & b) is getting the common element from these two arrays
c - (a & b)
=> [1, 3, 5, 6]
Le commentaire de Dmitri est également le même, bien que mon idée soit venue de façon indépendante.
Utilisez Array#uniq
.
a = [1, 3, 5, 6]
b = [2, 3, 4, 5]
c = (a + b).uniq
=> [1, 3, 5, 6, 2, 4]
Que dis-tu de ça.
(a | b)
=> [1, 2, 3, 4, 5, 6]
(a & b)
=> [2, 4]
(a | b) - (a & b)
[1, 3, 5, 6]
Documentation sur la méthode |
Documentation pour la méthode &
Que diriez-vous de Set.new([1,2,3]+[1,4,5])
? Ce qui retourne [1,2,3,4,5]