【VBScript】配列の重複削除 – Dictionary(連想配列)使用


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

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

コメント

タイトルとURLをコピーしました