Wie lösche ich einen Bereich von Werten aus einem Array?

7

Wenn array = [1, 2, 3, 4, 5, 6, 7, 8, 9] , Ich möchte eine Reihe von Elementen aus dem Array löschen.

Beispiel: Ich möchte alle Elemente mit einem Index im Bereich 2..5 von diesem Array löschen, das Ergebnis sollte [1, 2, 7, 8, 9]

sein

Vielen Dank im Voraus.

    
Guna Sekhar 13.11.2014, 12:57
quelle

5 Antworten

18

Verwenden Sie slice! :

  

Löscht die durch einen Bereich angegebenen Elemente.

%Vor%     
Stefan 13.11.2014, 13:13
quelle
2

Sie können dies versuchen

%Vor%

oder verwenden Sie delete_if

%Vor%     
Data Don 13.11.2014 13:09
quelle
1

Wie Stefan geschrieben hat, benutze slice! , um Werte innerhalb eines bestimmten Bereichs im Array zu entfernen. Wenn Sie jedoch Werte in einem bestimmten Bereich entfernen möchten, verwenden Sie delete_if .

%Vor%     
Gabriel de Oliveira 13.11.2014 13:31
quelle
0

Löschen, wenn der Bereich den Wert enthält

Eine der vielen Möglichkeiten, dies zu tun, besteht darin, Array # aufzurufen. delete_if mit einem Block, der überprüft, ob jedes Element des Arrays im Bereich mit Array # enthalten? . Zum Beispiel:

%Vor%     
Todd A. Jacobs 13.11.2014 13:37
quelle
-1

Löschen Array-Elemente nach Index aus dem Bereich

Wenn Sie versuchen, Elemente nach index und nicht nach Wert zu löschen, besteht eine Möglichkeit, das Objekt Range zu iterieren, indem Sie Array#delete_at für jeden Index im Bereich. Zum Beispiel:

%Vor%     
Todd A. Jacobs 13.11.2014 13:46
quelle

Tags und Links