Dictionary是存儲數據鍵和項目對的對象,其主要屬性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
創建Dictionary對象
'定義并創建Dictionary對象,使用CreateObject創建并返回自動化對象的引用Dim DicSet Dic = CreateObject("Scripting.Dictionary")
添加鍵值
Dim DicSet Dic = CreateObject("Scripting.Dictionary")'向Dictionary對象中添加鍵值對Dic.Add "Name", "Sirrah" 'Add方法第一個參數是Key值,第二個是Item值Dic.Add "Age", 23
刪除鍵值
Dim DicSet Dic = CreateObject("Scripting.Dictionary")Dic.Add "Name", "Sirrah" '向Dictionary對象中添加鍵值對Dic.Add "Age", 23Dic.Item("Age") = 22 '修改鍵Age的值MsgBox Dic.Item("Age") '輸出22
判斷鍵是否存在
Dim DicSet Dic = CreateObject("Scripting.Dictionary")Dic.Add "Name", "Sirrah" '向Dictionary對象中添加鍵值對Dic.Add "Age", 23MsgBox Dic.Exists("Age") '判斷鍵是否存在
輸出所有鍵值
輸出Dictionary對象所有鍵值,這邊將介紹2種常用的循環方法,具體代碼如下:
Dim Dic,DicsSet Dic = CreateObject("Scripting.Dictionary")Dic.Add "Name", "Sirrah" '向Dictionary對象中添加鍵值對Dic.Add "Age", 23Dics = dic.Items 'Items返回一個包含所有Item值的數組For i = 0 To dic.Count - 1 'Count返回Dictionary對象鍵數目 str = str & Dics(i) & vbCrlfNextMsgBox(str)Dim Dic,DicsSet Dics = CreateObject("Scripting.Dictionary")Dics.Add "Name", "Sirrah" '向Dictionary對象中添加鍵值對Dics.Add "Age", 23For Each Dic In Dics '循環遍歷Dictionary鍵,并輸出鍵值 MsgBox Dics.Item(Dic)Next
補充一個實例
腳本文件:a.vbs,包含字典的添加、刪除、判斷鍵是否存在、修改鍵、修改值、遍歷、統計鍵值對個數
'建立字典Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")'添加鍵值對Dict.Add "Key1", "Item1"Dict.Add "Key2", "Item2"Dict.Add "Key3", "Item3"'字典中鍵值對數量WScript.Echo "字典中現有鍵值對數量: " & Dict.Count '讓一個腳本在屏幕上顯示文本信息WScript.Echo '檢查指定鍵是否存在If Dict.Exists("Key1") Then WScript.Echo "Key1 存在!"Else WScript.Echo "Key1 不存在!"End IfIf Dict.Exists("Keyn") Then WScript.Echo "Keyn 存在!"Else WScript.Echo "Keyn 不存在!"End IfWScript.Echo '遍歷字典Sub TraverseDict Dim DictKeys, DictItems, Counter DictKeys = Dict.Keys DictItems = Dict.Items 'Items返回一個包含所有Item值的數組 For Counter = 0 To Dict.Count - 1 'Count返回Dictionary對象鍵數目 WScript.Echo _ "鍵: " & DictKeys(Counter) & _ '& 字符串連接運算符 "值: " & DictItems(Counter) NextEnd SubTraverseDictWScript.Echo '在一個鍵值對中,修改鍵或修改值Dict.Key("Key2") = "Keyx"Dict.Item("Key1") = "Itemx"TraverseDictWScript.Echo '刪除指定鍵Dict.Remove("Key3")TraverseDictWScript.Echo '刪除全部鍵Dict.RemoveAllWScript.Echo "字典中現有鍵值對數量: " & Dict.Count
調用方法:通過雙擊a.bat調用,a.bat代碼如下:
cscript a.vbs
pause
運行結果截圖:
新聞熱點
疑難解答