Gibt eine neue Liste mit einem einzelnen Vorkommen jedes in der ursprünglichen Liste doppelt vorhandenen Elements zurück. Die Reihenfolge der Elemente in der zurückgegebenen Liste ist nicht definiert. Die nicht doppelten Elemente werden auch in der Liste angezeigt. Es gibt keine Möglichkeit anzugeben, welche Vorkommen 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 | Liste | Die Liste, aus der die Duplikate entfernt werden sollen |
key | Name | Optional. Name einer Funktion, die auf jedes Element beim Abrufen seines Werts während der Suche nach Duplikaten angewendet werden soll. Vorgabe ist :Identity. |
test | Name | Optional. Name einer Funktion, die beim Vergleichen von zwei Werten auf jedes Element angewendet werden soll. Die 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}Das Ergebnis hat nicht unbedingt diese Reihenfolge und enthält nicht unbedingt genau diese Elemente. Beispiel: Anstelle von 2.5 steht möglicherweise 2.6 oder 2.3 in der Liste.
Intent >RemoveDuplicates({{4.5,6},{2.5,6},{1.5,8},{4.5,6}}) --> {{4.5, 6}, {2.5, 6}, {1.5, 8}}