VBScriptにて、辞書型であるDictionary(連想配列)を使用して、配列の重複削除する方法について解説しています。
連想配列(Dictionary)を使用して、重複する値を除外した配列を作成しています。
例では、重複している値「りんご」が削除されて、一意となるため、要素数が[3]から[2]に減っていることが確認できます。
Option Explicit
' 配列を使用するための宣言
Dim arr
arr = Array("りんご", "メロン", "りんご")
' 配列の要素数を確認
MsgBox(UBound(arr)+1)
' 関数の呼び出し
arr = DelDuplicate(arr)
' 配列の要素数を確認
MsgBox(UBound(arr)+1)
' 処理終了
WScript.Quit
' 配列の重複削除関数
Function DelDuplicate(tmpArray)
' 連想配列を使用するための宣言
Dim dic
Set dic = CreateObject("Scripting.Dictionary")
' For文を使用するための宣言
Dim i
For i = 0 To UBound(tmpArray)
' 連想配列に存在しない場合のみ、配列の値をセット
If Not(dic.Exists(tmpArray(i)))Then
dic.Add tmpArray(i), ""
End If
Next
DelDuplicate = dic.Keys
End Function
リンク
コメント