removeDuplicates()

概要

を返し、元の list の各複製された項目の 1 つのオカレンスを含む新しい list します。 返される list でのアイテムの順序が定義されていません。 重複していない項目も返される list に表示されます。 削除する重複のオカレンスを指定する方法はありません。

構文

RemoveDuplicates ( list As List, _
                   Optional key As Name = :Identity, _
                   Optional test As Name = :Equal ) As List 
引数 [タイプ] 説明
list List 重複を削除するには list をクリックします。
key Name 既定値は :Identity重複のチェック中にその値を取得するときに各項目に適用する関数の名前オプション。
test Name 既定値は :Equal2 つの値を比較するときに各項目に適用する関数の名前オプション。

例 1

同種のタイプです。
Intent >RemoveDuplicates({4, 7, 4, 2, 6, 6, 3, 1, 3}) 
--> {4, 7, 2, 6, 3, 1} 

例 2

異種のタイプです。
Intent >RemoveDuplicates({:a, :z, :c, :a, 3, :e, :f, :g, :c}) 
--> {:a, :z, :c, 3, :e, :f, :g} 

例 3

test 関数を使用します。
Intent >RemoveDuplicates({:a, :b, 3, "a", "b", {3}, "3"}, test := :sameType?) 
--> {:a, 3, "a", {3}} 
重複のテストとしてカスタム関数を使用すると、値に関係なく、各データ型のエントリが 1 つのみ維持されます。
Function sameType?(I as Any, j as Any) as Boolean
    sameType? = (typeName(i) = typeName(j)) 
End Function 

例 4

key 関数を使用します。
Intent >RemoveDuplicates({1.4, 2.5, 2.6, 3.5, 1.1, 2.3}, key := :ceiling) 
--> {1.4, 2.5, 3.5} 
結果は、次の順序である必要はありません、正確な要素であるとは限りません。 たとえば、2.5 の代わりに、2.6 または 2.3 が list である必要があります。

例 5

複数の list で、再帰的に動作します。
Intent >RemoveDuplicates({{4.5,6},{2.5,6},{1.5,8},{4.5,6}})
--> {{4.5, 6}, {2.5, 6}, {1.5, 8}}