Dictionary是存儲數據鍵和項目對的對象,其主要屬性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。
創建Dictionary對象
1
2
3
|
'定義并創建Dictionary對象,使用CreateObject創建并返回自動化對象的引用 Dim Dic Set Dic = CreateObject( "Scripting.Dictionary" ) |
添加鍵值
1
2
3
4
5
|
Dim Dic Set Dic = CreateObject( "Scripting.Dictionary" ) '向Dictionary對象中添加鍵值對 Dic.Add "Name" , "Sirrah" 'Add方法第一個參數是Key值,第二個是Item值 Dic.Add "Age" , 23 |
刪除鍵值
1
2
3
4
5
6
|
Dim Dic Set Dic = CreateObject( "Scripting.Dictionary" ) Dic.Add "Name" , "Sirrah" '向Dictionary對象中添加鍵值對 Dic.Add "Age" , 23 Dic.Item( "Age" ) = 22 '修改鍵Age的值 MsgBox Dic.Item( "Age" ) '輸出22 |
判斷鍵是否存在
1
2
3
4
5
|
Dim Dic Set Dic = CreateObject( "Scripting.Dictionary" ) Dic.Add "Name" , "Sirrah" '向Dictionary對象中添加鍵值對 Dic.Add "Age" , 23 MsgBox Dic.Exists( "Age" ) '判斷鍵是否存在 |
輸出所有鍵值
輸出Dictionary對象所有鍵值,這邊將介紹2種常用的循環方法,具體代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Dim Dic,Dics Set Dic = CreateObject( "Scripting.Dictionary" ) Dic.Add "Name" , "Sirrah" '向Dictionary對象中添加鍵值對 Dic.Add "Age" , 23 Dics = dic.Items 'Items返回一個包含所有Item值的數組 For i = 0 To dic.Count - 1 'Count返回Dictionary對象鍵數目 str = str & Dics(i) & vbCrlf Next MsgBox(str) Dim Dic,Dics Set Dics = CreateObject( "Scripting.Dictionary" ) Dics.Add "Name" , "Sirrah" '向Dictionary對象中添加鍵值對 Dics.Add "Age" , 23 For Each Dic In Dics '循環遍歷Dictionary鍵,并輸出鍵值 MsgBox Dics.Item(Dic) Next |
補充一個實例
腳本文件:a.vbs,包含字典的添加、刪除、判斷鍵是否存在、修改鍵、修改值、遍歷、統計鍵值對個數
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
'建立字典 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 If If Dict.Exists( "Keyn" ) Then WScript.Echo "Keyn 存在!" Else WScript.Echo "Keyn 不存在!" End If WScript.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) Next End Sub TraverseDict WScript.Echo '在一個鍵值對中,修改鍵或修改值 Dict.Key( "Key2" ) = "Keyx" Dict.Item( "Key1" ) = "Itemx" TraverseDict WScript.Echo '刪除指定鍵 Dict.Remove( "Key3" ) TraverseDict WScript.Echo '刪除全部鍵 Dict.RemoveAll WScript.Echo "字典中現有鍵值對數量: " & Dict.Count |
調用方法:通過雙擊a.bat調用,a.bat代碼如下:
cscript a.vbs
pause
運行結果截圖:
原文鏈接:http://www.cnblogs.com/wakey/p/5764737.html