Seite 1 von 1
Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 18:50
von Delle
Hallo,
ich lade aktuell diverse Nummern in Array:
Code: Alles auswählen
Dim Result$(0)
NbFound = ExtractRegularExpression(0, GetGadgetItemText(1, #PB_Web_HtmlCode), Result$())
For k = 0 To NbFound-1
Debug Result$(k)
Next
Darunter sind auch einige doppelte Nummern... wie bekomme ich die jetzt ohne viele Schleifen und Tralala wieder raus?
Notfalls würde ich auch Listen oder Maps nehmen falls es damit einfach geht...
Danke!
Re: Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 19:00
von #NULL
Map definieren, jeden wert als mapkey setzten, über die mapkeys iterieren:
Code: Alles auswählen
Dim arr.s(10)
For i=0 To 10
arr(i) = Str(Random(2))
Next
Debug "with dups:"
For i=0 To 10
Debug arr(i)
Next
NewMap nodups()
For i=0 To 10
nodups(arr(i)) = 0 ; dummy value, not used
Next
Debug "without dups:"
ForEach nodups()
Debug MapKey(nodups())
Next
Re: Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 21:50
von NicTheQuick
In Maps kann jeder Schlüssel nur einmal existieren und du kannst mit einem Befehl herausfinden, ob ein Schlüssel schon existiert oder nicht. Probier es doch also mal mit Maps.

Re: Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 22:25
von Mijikai
Weiß nicht wie schnell CompareMemory() ist aber vielleicht ist das auch noch eine Option.
Denke jedoch das die MAP Lösung besser ist.
Re: Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 22:34
von Delle
Das heißt ich muss mittels Schleife das Array durchlaufen und in eine Map schreiben? Dann dürfte dort automatisch keine doppelten Einträge landen oder?
Re: Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 22:36
von RSBasic
Doppelte Einträge werden bei der Map automatisch überschrieben, wenn der Indexname gleich ist.
Re: Doppelte Inhalte in Array/List/Map entfernen
Verfasst: 06.07.2018 22:44
von Delle
Funzt prima, danke!
Code: Alles auswählen
For k = 0 To NbFound-1
Country(Result$(k)) = ""
Next
ForEach Country()
Debug MapKey(Country())
Next