元の一覧で重複していた各項目のオカレンスが 1 つ記述される新しい一覧を返します。返される一覧内での項目の順序は定義されません。重複していない項目も、返される一覧に含まれます。削除する重複のオカレンスを指定する方法はありません。
RemoveDuplicates ( list As List, _ Optional key As Name = :Identity, _ Optional test As Name = :Equal ) As List
引数 | [タイプ] | 説明 |
---|---|---|
list | [一覧] | 重複を削除する一覧です。 |
key | [名前] | 任意指定。重複のチェック中にその値を取得するときに各項目に適用する関数の名前です。既定は :Identity です。 |
テスト | [名前] | 任意指定。2 つの値を比較するときに各項目に適用する関数の名前です。既定は :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}結果は必ずしもこの順序になるとは限りません。また、必ずしも同じ要素になるとは限りません。たとえば、2.5 の代わりに、2.6 または 2.3 が一覧に含まれることがあります。
Intent >RemoveDuplicates({{4.5,6},{2.5,6},{1.5,8},{4.5,6}}) --> {{4.5, 6}, {2.5, 6}, {1.5, 8}}