Rimuovere un elemento array in Ruby

Rimuovere un elemento array in Ruby
Gli array sono alcune delle strutture di dati più versatili e popolari in Ruby e in altri linguaggi di programmazione. Sebbene l'implementazione possa differire in base a vari linguaggi di programmazione, in Ruby, possiamo definire un array come una raccolta di elementi di vari tipi di dati, inclusi altri array.

Vengono ordinati array in Ruby ed è possibile accedere utilizzando gli indici. Un indice di array si riferisce a un valore intero che indica la posizione di un elemento in un array. In Ruby, gli array sono oggetti della classe Array, che contiene una serie di metodi e utili strutture di dati per lavorare con array.

Questo post discuterà i fondamenti del lavoro con gli array, incluso come rimuovere un elemento da un array in Ruby.

Ruby Crea array

In Ruby, possiamo creare un array usando una staffa quadrata e aggiungere gli elementi dell'array al suo interno. Ogni elemento dell'array è separato da una virgola, come mostrato nella sintassi seguente:

Array = [Element1, Element2, Element3 ... ElementN]

Per esempio:

top_database = ["mysql", "postgresql", "database Oracle", "sql server", "mongodb"]

In questo caso, creiamo un array chiamato top_database. L'array contiene cinque elementi di tipo stringa, ciascuno dei quali rappresenta un database diverso.

Possiamo anche usare l'array.nuovo metodo per creare un nuovo array. Un esempio è come mostrato di seguito:

top_database = array.new (["Mysql", "PostgreSQL", "Oracle Database", "SQL Server", "MongoDB"])

Ruby Rimuovi l'elemento dall'array

Il metodo di rifiuto è il primo metodo per rimuovere un elemento da un array.

Il metodo di rifiuto ci consente di filtrare gli elementi da un array o un oggetto enumerabile basato su una condizione specifica. Il metodo prende un blocco come argomento e il blocco dovrebbe restituire vero o falso per ogni elemento. Elementi per i quali il blocco restituisce vero vengono rimossi dalla collezione originale e viene restituita una nuova collezione contenente gli ingredienti rimanenti.

È bene ricordare che il metodo non modificherà l'array originale. Invece, crea un nuovo array per archiviare gli elementi.

Prendi l'esempio di seguito:

Numeri = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
ODD_NUMBERS = numeri.rifiuta | n | n % 2 == 0

Nell'esempio sopra, utilizziamo il metodo di rifiuto sull'array dei numeri. Il blocco prenderà gli elementi N e restituirà vero se l'elemento è pari; Falso se l'elemento è dispari. Il metodo di rifiuto rimuoverà quindi tutti gli elementi veri e memorizzerà i valori "falsi" nel nuovo array.

Produzione:

=> [1, 3, 5, 7, 9]

Rimuovi l'elemento dall'array

Il metodo di sottrazione è il secondo metodo che possiamo utilizzare per rimuovere un elemento da un array. Questo ci consente di sottrarre due array e archiviare valori simili.

Un esempio è come mostrato di seguito:

numeras_to_remove = [3, 4, 5]
originale_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_array = original_array - numeras_to_remove

Array risultante:

=> [1, 2, 6, 7, 8, 9, 10]

In questo esempio, il new_array contiene tutti gli elementi dell'originale_array tranne quelli presenti nell'array numera_to_remove.

Possiamo usare questo metodo per rimuovere più elementi contemporaneamente. Questo è un modo più efficiente del loop sull'array e rimuovere gli elementi uno per uno.

Vale la pena notare che questo metodo rimuove gli elementi solo se esistono nell'array originale e se sono esattamente lo stesso oggetto, non se sono uguali.

Ruby Elimina Element dall'array - Metodo 3

Ruby ci fornisce anche il metodo Elimina che ci consente di rimuovere un elemento specificato da un determinato array

La funzione eliminerà l'elemento specificato e lo restituirà come output. È bene tenere presente che questo è un metodo distruttivo, ciò significa che apporterà modifiche all'array originale come dimostrato di seguito:

ARR = [1,2,3,4,5,6]
arr.Elimina (5)
=> 5

Produzione:

IRB (Main): 040: 0> PUTS ARR
1
2
3
4
6
=> zero

Ruby Elimina Element dall'array - Metodo 4

Possiamo anche eliminare un elemento da un array usando la posizione dell'indice dell'elemento usando il metodo delete_at ().

Il metodo accetta l'indice di destinazione il cui elemento desideriamo eliminare come parametro. La sintassi è come mostrato di seguito:

vettore.delete_at (indice)

L'indice indica la posizione dell'indice dell'elemento che desideriamo eliminare.

Allo stesso modo, il metodo restituirà il valore dell'elemento che abbiamo eliminato.

Un esempio è mostrato di seguito:

originale_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
originale_array.delete_at (2)
=> 3

In questo esempio, la funzione delete_at e passa l'indice di destinazione come 2. In questo caso, la funzione rimuove l'elemento all'indice specificato, 3 e modifica l'array originale.

La funzione restituirà anche un errore se l'indice specificato è fuori portata. Per evitare di modificare l'array originale, è possibile utilizzare altri metodi discussi sopra o notazione della staffa quadrata.

originale_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_array = original_array [0… 2] + originale_array [3… -1]

Questo funziona rimuovendo l'elemento nella posizione target e concatenando gli array risultanti in un unico valore.

Conclusione

In questo, ti sei imbattuto in quattro metodi principali che puoi utilizzare per rimuovere un elemento da un array di input usando il linguaggio di programmazione Ruby.