[RUBY] (Array # each + Array # push) v.s. Array # map

Le début des choses

Je vois souvent ce code dans les critiques.

hoge_array = []
fuga_array.each do |val|
  hohe_array << something(val)
end

Il est généralement bien connu qu'il s'agit d'un code lent, et on sait qu'il est environ 1,6 fois plus lent. (Source ici) Au fait, peu de gens expliquent pourquoi c'est lent. Honnêtement

hoge_array = fuga_array.map do |val|
  something(val)
end

C'est plus facile à lire, et c'est bien, mais cette fois, je vais passer en revue la raison de l'utilisation active de la carte.

Chose que tu veux faire

--Différence entre ʻArray # map et ʻArray # each + ʻArray # push(ou ʻArray # <<)

Comparaison de traitement

Array#<<

Commande en traitement

Recommended Posts

(Array # each + Array # push) v.s. Array # map
Tableau / liste / carte
[Chacun, carte ...] J'ai comparé le traitement du tableau ce soir [ruby]