Gibt eine neue list mit einem einzelnen Exemplar jedes duplizierte Element in der ursprünglichen list . Die Reihenfolge der Elemente in der zurückgegebenen list ist nicht definiert. Die nicht doppelten Elemente werden auch in der zurückgegebenen list . Es gibt keine Möglichkeit anzugeben, welche Exemplare der Duplikate entfernt werden sollen.
RemoveDuplicates ( list As List, _
Optional key As Name = :Identity, _
Optional test As Name = :Equal ) As List
Argument | Typ | Beschreibung |
---|---|---|
list | List | Die list aus der Duplikate entfernt werden sollen. |
key | Name | Optional. Name einer Funktion für jedes Element beim Abrufen der Wert während der Suche nach Duplikaten. Vorgabe ist :Identity. |
test | Name | Optional. Name einer Funktion für jedes Element beim Vergleichen von zwei Werten. Vorgabe ist :Equal. |
Intent >RemoveDuplicates({4, 7, 4, 2, 6, 6, 3, 1, 3})
--> {4, 7, 2, 6, 3, 1}
Intent >RemoveDuplicates({:a, :z, :c, :a, 3, :e, :f, :g, :c})
--> {:a, :z, :c, 3, :e, :f, :g}
Intent >RemoveDuplicates({:a, :b, 3, "a", "b", {3}, "3"}, test := :sameType?)
--> {:a, 3, "a", {3}}
Function sameType?(I as Any, j as Any) as Boolean
sameType? = (typeName(i) = typeName(j))
End Function
Intent >RemoveDuplicates({1.4, 2.5, 2.6, 3.5, 1.1, 2.3}, key := :ceiling)
--> {1.4, 2.5, 3.5}
Ergebnis ist nicht unbedingt in dieser Reihenfolge und nicht unbedingt genau diese Elemente. Sie können zum Beispiel statt 2.5 möglicherweise 2.6 oder 2.3 in der
list
. Intent >RemoveDuplicates({{4.5,6},{2.5,6},{1.5,8},{4.5,6}})
--> {{4.5, 6}, {2.5, 6}, {1.5, 8}}