VBS使用Scripting.Dictionary字典對象


Scripting.Dictionary是個很有用的組件,其創建了類似於Key索引對應Value值的字典對象,並且在其內部提供了快速索引訪問的機制,可以讓我們通過Key直接索引到指定的Value,比遍歷二維數組有效得多。

其在VBScript中是這樣訪問的。

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
Dim objDict
Set objDict = WSH.CreateObject("Scripting.Dictionary") ' .Add(key, value) objDict.Add "a", "value1" objDict.Add "b", "value2" objDict.Add "c", "value3" '直接通過key=b索引到value2 WSH.Echo objDict.Item("b") objDict.Remove "b" ' 刪除索引b及其對應的值 ' 以下是遍歷字典 Dim objKeys, objItems, i objKeys = objDict.Keys objItems = objDict.Items For i = 0 To objDict.Count -1 WSH.Echo "Key=" & objKeys(i) &_ " AND Value=" & objItems(i) Next ' 判斷指定的key是否存在 If objDict.Exists("b") Then WSH.Echo "Found it" Else WSH.Echo "Not Exists!" End If objDict.RemoveAll ' 清空字典內所有的key及其對應value Set objDict = Nothing

當然在JScript訪問的方式一樣,但是在遍歷這里需要一點點變動。

   

由於Scripting.Dictionary的Keys和Items的集合返回的是VB安全數組,也就是說JScript訪問需要多個轉換的步驟,方法就是采用new VBArray()對象,相關信息可以參考MSDN的《VBArray Objects》,當獲得VBArray對象后就可以通過getItem方法獲取數組元素了,值得注意的是這個VBArray對象自己不創建數組,其只起到一個轉換的作用,也可以將其看成是一個操作接口吧。當然其toArray()方法可以將其轉換為真正的JScript數組,屆時可以直接像操作JScript數組一樣操作VBArray轉換的對象了。

 

 

原文:http://wangye.org/blog/archives/60/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM