Es gibt viele Methoden zum Manipulieren der Elemente eines Ruby-Arrays. Immerhin habe ich versucht zu vergleichen, welches sich verhält und welches am effizientesten ist.
Methode | Rückgabewert | Verhalten |
---|---|---|
each | Array von Empfängern | Durchlaufen Sie die Elemente des Arrays einzeln im Block |
each_slice | nil | Durchlaufen Sie mehrere Einheiten von Array-Elementen innerhalb eines Blocks |
each_with_index | Array von Empfängern | Durchlaufen Sie Array-Elemente und Indexnummern innerhalb eines Blocks |
map | Array geändert | Ändern Sie die Elemente so, wie sie sich in einem Array befinden |
select | Array geändert | Behalten Sie das Array bei und schränken Sie die Elemente ein, für die der bedingte Ausdruck wahr ist |
reject | Array geändert | Behalten Sie das Array bei und beschränken Sie sich auf die Elemente, deren bedingter Ausdruck falsch ist |
find | Element | Elementの中で、最初にヒットしたElementを取り出す |
each Schleifenelemente im Singular
array = ["Apfel", "Orange", "Wassermelone", "Melone"]
array.each do |obj|
p obj
end
Rückgabewert
Apfel
Orange
Wassermelone
Melone
=> ["Apfel", "Orange", "Wassermelone", "Melone"]
each_slice Schleife mehrere Elemente
array.each_slice(2) do |a|
p a
p a
end
Rückgabewert
["Apfel", "Orange"]
["Wassermelone", "Melone"]
=> nil
each_with_index Sie können den Index zusammen mit dem Element abrufen
array.each_with_index do |obj,index|
p obj
p index
end
Rückgabewert
"Apfel"
0
"Orange"
1
"Wassermelone"
2
"Melone"
3
=> ["Apfel", "Orange", "Wassermelone", "Melone"]
map Optimieren Sie die Elemente und kehren Sie als Array zurück
array = [1, 2, 3, 4, 5]
array_new = array.map{ |i| i*2 }
Rückgabewert
[2, 4, 6, 8, 10]
select Gibt ein Array von Elementen zurück, für die der Rückgabewert des bedingten Ausdrucks wahr ist
array = [1, 2, 3, 4, 5]
array_new = array.select{ |i| i > 3 }
Rückgabewert
[4, 5]
reject Gibt ein Element als Array zurück, dessen Rückgabewert des bedingten Ausdrucks false ist
array = [1, 2, 3, 4, 5]
array_new = array.reject{ |i| i % 2 == 0 }
Rückgabewert
[1, 3, 5]
find Suchen und rufen Sie das erste Element ab, das im bedingten Ausdruck wahr ist
array = [1, 2, 3, 4, 5]
array_new = array.find{ |i| i > 3 }
Rückgabewert
4
Recommended Posts