Thread Gleichzeitiges löschen mehrerer Array-Elemente (3 answers)
Opened by Ronnie at 2003-11-25 12:48

Ronnie
 2003-11-25 12:48
#72793 #72793
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Ich wollte aus einem Array (@$entries) gleichzeitig alle Elemente löschen deren Index in einem anderen Array (@remove) vorliegen. Ich habe folgende Lösung:

Code: (dl )
1
2
3
4
5
6
7
  my $reduced_entries = [];
 my $i=0;
 for my $entry (@$entries) {
   push @$reduced_entries, $entry unless (grep $_ == $i, @remove);
   $i++;
   }
 $entries = $reduced_entries;


Mein erster Gedanke war ja über das @remove-Array zu iterieren und jedes Element aus dem @$entries-Array zu splicen. Dies fällt aber aus, da mit jedem splicen sich der Index meiner Elemente ändert.

Gibt es noch eine elegantere Lösung für dieses Problem?\n\n

<!--EDIT|Ronnie|1069757406-->

View full thread Gleichzeitiges löschen mehrerer Array-Elemente