Ich habe ein Array von Elementen in Ruby
[2,4,6,3,8]
Ich muss Elemente mit Wert entfernen 3
zum Beispiel
Wie kann ich das tun?
Ich habe ein Array von Elementen in Ruby
[2,4,6,3,8]
Ich muss Elemente mit Wert entfernen 3
zum Beispiel
Wie kann ich das tun?
Ausleihen von Travis in den Kommentaren, ist dies eine bessere Antwort:
Ich persönlich mag
[1, 2, 7, 4, 5] - [7]
was dazu führt, dass=> [1, 2, 4, 5]
deirb
Ich habe seine Antwort geändert, da 3 das dritte Element in seinem Beispielarray war. Dies könnte zu einer gewissen Verwirrung bei denjenigen führen, die nicht wissen, dass 3 an Position 2 in der Matrix steht.
Ich bin mir nicht sicher, ob das schon jemand gesagt hat, aber Array.delete() und -= Wert wird jede Instanz des übergebenen Wertes innerhalb des Arrays löschen. Um die erste Instanz eines bestimmten Elements zu löschen, könnten Sie etwas tun wie
arr = [1,3,2,44,5]
arr.delete_at(arr.index(44))
#=> [1,3,2,5]
Es könnte einen einfacheren Weg geben. Ich sage nicht, dass dies die beste Praxis ist, aber es ist etwas, das anerkannt werden sollte.
Angenommen, Sie wollen 3 nach Wert an mehreren Stellen in einem Array löschen, Ich denke, dass die Ruby-Methode für diese Aufgabe die delete_if-Methode verwenden sollte:
[2,4,6,3,8,3].delete_if {|x| x == 3 }
Sie können auch delete_if beim Entfernen von Elementen im Szenario "Array von Arrays" verwenden.
Ich hoffe, damit ist Ihre Frage geklärt
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.