[RAILS] [Chacun, carte ...] J'ai comparé le traitement du tableau ce soir [ruby]

Il existe de nombreuses méthodes pour manipuler les éléments d'un tableau de rubis. Après tout, j'ai essayé de comparer celui qui se comporte et celui qui est le plus efficace.

Tableau de référence rapide sur le fonctionnement des baies

Méthode Valeur de retour comportement
each Réseau de récepteurs Parcourez les éléments du tableau un par un dans le bloc
each_slice nil Itérer sur plusieurs unités d'éléments de tableau dans un bloc
each_with_index Réseau de récepteurs Itérer sur les éléments du tableau et les numéros d'index dans un bloc
map Tableau modifié Changer les éléments tels qu'ils sont dans un tableau
select Tableau modifié Conservez le tableau et affinez les éléments pour lesquels l'expression conditionnelle est vraie
reject Tableau modifié Conservez le tableau et limitez-vous aux éléments dont l'expression conditionnelle est fausse
find élément élémentの中で、最初にヒットしたélémentを取り出す

Traitement itératif

each Éléments de boucle au singulier


array = ["Pomme", "Orange", "pastèque", "melon"]

array.each do |obj|
  p obj
end

Valeur de retour


Pomme
Orange
pastèque
melon
=> ["Pomme", "Orange", "pastèque", "melon"]

each_slice Boucle plusieurs éléments


array.each_slice(2) do |a|
  p a
  p a
end

Valeur de retour


["Pomme", "Orange"]
["pastèque", "melon"]
=> nil

each_with_index Vous pouvez récupérer l'index avec l'élément


array.each_with_index do |obj,index|
  p obj
  p index
end

Valeur de retour


"Pomme"
0
"Orange"
1
"pastèque"
2
"melon"
3
=> ["Pomme", "Orange", "pastèque", "melon"]

Changer directement le contenu de l'élément

map Ajustez les éléments et retournez sous forme de tableau


array = [1, 2, 3, 4, 5]

array_new = array.map{ |i| i*2 }

Valeur de retour


[2, 4, 6, 8, 10]

select Renvoie un tableau d'éléments pour lesquels la valeur de retour de l'expression conditionnelle est true


array = [1, 2, 3, 4, 5]

array_new = array.select{ |i| i > 3 }

Valeur de retour


[4, 5]

reject Renvoie un élément sous forme de tableau dont la valeur de retour de l'expression conditionnelle est false


array = [1, 2, 3, 4, 5]

array_new = array.reject{ |i| i % 2 == 0 }

Valeur de retour


[1, 3, 5]

find Rechercher et récupérer le premier élément qui est vrai dans l'expression conditionnelle


array = [1, 2, 3, 4, 5]

array_new = array.find{ |i| i > 3 }

Valeur de retour


4

Recommended Posts

[Chacun, carte ...] J'ai comparé le traitement du tableau ce soir [ruby]
Tableau / liste / carte
[Chacun, carte ...] J'ai comparé le traitement du tableau ce soir [ruby]
[Rubiy] J'ai essayé de résumer le traitement de la boucle ce soir [fois, pause ...]
Traitement itératif de Ruby en utilisant chaque méthode (trouver la somme de 1 à 10)
[Rubiy] Simplifiez chaque utilisation de la carte et injectez
J'ai étudié le traitement interne de Retrofit
J'ai comparé les caractéristiques de Java et .NET
J'ai vérifié le nombre de taxis avec Ruby
Je veux obtenir la valeur en Ruby