2017-06-10 18 views
1

私はVBScriptのArrayListから重複を取り除く方法を理解しようとしていますが、これに関する情報はありません。これには(明らかに)専用の機能はないので、別の方法でどうやったらどうすればいいのかを知ることができますか?ArrayList重複を削除する(一意にする)?

私が見つけた似たような疑問は、VBScriptではなく、Javaに関連していました。

+0

の可能な複製を[どのように私は繰り返し削除しますか要素はArrayListから?](https://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist) – Gurman

+0

@Kiraこの質問はVBScriptについてであり、Javaについてではありません。可能な答えをありがとうが、この特定のケースでは適用されません。 – derei

+0

@derei 'ArrayList'はどういう意味ですか? VBScriptには、組み込みのオブジェクトや型はありません。サンプルコードを表示できますか? –

答えて

1

私は最も簡単な方法は、Dictionaryに値を入れることだと思います:

Set d = CreateObject("Scripting.Dictionary") 

For Each e In arrayList 
    d(e) = e 
Next 

arr = d.Items 'put unique elements back into 

あなたの配列リストは、オブジェクトが含まれており、あなたが識別するために必要な独自性の指標として、オブジェクト参照をしたくない場合オブジェクトの一意性を定義し、それを辞書のキーとして使用する、ある種のプロパティ(またはプロパティの組み合わせ)。また、オブジェクトの割り当てにはSetキーワードを使用する必要があります。

For Each e In arrayList 
    Set d(e.uniqueProperty) = e 
Next 

あなたが戻ってあなたが戻って配列リストへの辞書から要素を転送するために別のループを必要とする元の変数でユニークなリストが必要な場合:

arrayList.Clear 
For Each e In d.Items 
    arrayList.Add e 
Next 
関連する問題