Supprimer les éléments en double d'un tableau en ruby

Créé le 09 Dec 2022 - Mis à jour le 04 Jul 2023 - Créé par Fabien Berthoux - ruby-on-railsarrays

Il peut arriver que l'on ait besoin de supprimer les éléments en double d'un tableau en Ruby. Cela peut être nécessaire lorsque l'on a des données qui doivent être uniques. La façon la plus simple de le faire est d'utiliser la méthode uniq de Ruby. Cette méthode itère sur chaque élément du tableau et supprime tous les éléments qui sont identiques à ceux déjà présents. L'avantage de cette méthode est qu'elle est également capable de fonctionner avec des tableaux à plusieurs niveaux. Par exemple, si vous avez un tableau de tableaux, elle sera capable de supprimer les doublons à l'intérieur de chaque tableau.

# Exemple

tableau = [1,2,3,3,4,5,5]
tableau.uniq # retourne [1,2,3,4,5]

Comment puis-je supprimer un seul élément d'un tableau en Ruby ?

Vous pouvez supprimer un seul élément d'un tableau en Ruby en utilisant la méthode delete. Cette méthode prend en argument l'élément que vous souhaitez supprimer et supprimera l'élément du tableau. Une fois l'élément supprimé, vous pouvez utiliser la méthode compact pour supprimer tous les éléments nil du tableau.

# Exemple

tableau = [1,2,3,4,5]
tableau.delete(3) # retourne [1,2,4,5]
tableau.compact # retourne [1,2,4,5]

Comment puis-je trier un tableau en Ruby ?

Vous pouvez trier un tableau en Ruby en utilisant la méthode sort. Cette méthode prend en argument un bloc qui spécifie la façon dont le tableau doit être trié. Vous pouvez également trier un tableau par ordre alphabétique en utilisant la méthode sort_by.

# Exemple

tableau = [3,2,1,4,5]
tableau.sort # retourne [1,2,3,4,5]
tableau.sort_by { |x| x } # retourne [1,2,3,4,5]

Comment puis-je fusionner des tableaux en Ruby ?

Vous pouvez fusionner des tableaux en Ruby en utilisant la méthode concat. Cette méthode prend en argument un ou plusieurs tableaux et retourne un seul tableau qui contient tous les éléments des tableaux fusionnés.

# Exemple

tableau1 = [1,2,3]
tableau2 = [4,5,6]
tableau1.concat(tableau2) # retourne [1,2,3,4,5,6]

Comment puis-je itérer sur les éléments d'un tableau en Ruby ?

Vous pouvez itérer sur les éléments d'un tableau en Ruby en utilisant la méthode each. Cette méthode prend en argument un bloc qui sera exécuté pour chaque élément du tableau.

# Exemple

tableau = [1,2,3,4,5]
tableau.each do |x|
  puts x
end

# Affiche
1
2
3
4
5

Comment puis-je inverser l'ordre des éléments d'un tableau en Ruby ?

Vous pouvez inverser l'ordre des éléments d'un tableau en Ruby en utilisant la méthode reverse. Cette méthode prend en argument un tableau et le retourne avec les éléments dans le sens inverse.

# Exemple

tableau = [1,2,3,4,5]
tableau.reverse # retourne [5,4,3,2,1]