【Scripting.Dictionary属性说明】
CompareMode (仅用于VBScript)设定或返回键的字符串比较模式
Count 只读。返回Dictionary里的键/条目对的数量
Item(key) 设定或返回指定的键的条目值
Key(key) 设定键值
表5-3 Dictionary对象的方法和说明
【Scripting.Dictionary方法说明】
Add(key,item) 增加键/条目对到Dictionary
Exists(key) 如果指定的键存在,返回True,否则返回False
Items() 返回一个包含Dictionary对象中所有条目的数组
Keys() 返回一个包含Dictionary对象中所有键的数组
Remove(key) 删除一个指定的键/条目对
RemoveAll() 删除全部键/条目
示例:
<%
'示例1
dim dic
set dic=server.CreateObject("Scripting.Dictionary")
dic.add "1","beijing"
dic.add "2","shanghai"
dic.add "3","guangzhou"
'可以修改键值
dic.Item("1") = "bj"
dic.Item("2") = "sh"
'判断不为空时循环打印出来
if isnull(dic)=false then
for each objdic in dic
response.Write(objdic&"=")
response.Write(dic(objdic)&"<br/>")
next
end if
'示例2
dim sdic
dim i1, key,val
key=array("hefei","nanjing","changsha")
val=array("合肥","南京","长沙")
set sdic= Server.CreateObject("Scripting.Dictionary") ' 字典对象
For i1 =0 To UBound(key)
sdic.Add key(i1),val(i1) '值可以是数字,字符,或数组等
Next
'response.write(sdic.Item("hefei"))
'示例3
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
response.Write(objDict.Item("b"))
objDict.Remove "b" ' 删除索引b及其对应的值
' 以下是遍历字典
Dim objKeys, objItems, i
objKeys = objDict.Keys
objItems = objDict.Items
For i = 0 To objDict.Count -1
response.Write("Key=" & objKeys(i)&" AND Value=" & objItems(i))
Next
' 判断指定的key是否存在
If objDict.Exists("b") Then
response.Write("Found it")
Else
response.Write("Not Exists!")
End If
objDict.RemoveAll ' 清空字典内所有的key及其对应value
Set objDict = Nothing
'示例4
dim sd4
sd4 = Server.CreateObject("Scripting.Dictionary");
sd4.Add("a", "value1");
sd4.Add("b", "value2");
sd4.Add("c", "value3");
response.Write(dict.Item("b"));
sd4.Remove("b");
'注意这里的遍历
dim keys,items
keys = sd4.Keys
items = sd4.Items
for(var i=0;i<sd4.Count; i++) {
response.Write("Key:"&keys.item(i)",Itenm:"&items.item(i));
}
if (sd4.Exists("b")) {
response.Write("Found it");
} else {
response.Write("Not Exists!");
}
sd4.RemoveAll();
'示例5
Dim objDict
Set objDict = Server.CreateObject("Scripting.Dictionary")
objDict.Add "b", Array("1","2","3")
response.Write(objDict.Item("b")(0))
response.Write(objDict("b")(1))
objDict.RemoveAll
Set objDict = Nothing
'扩展几个循环方法
For intLoop = 0 To objMyData.Count –1
StrThisKey = arrKeys(intLoop)
StrThisItem = arrItems(intLoop)
Next
var arrKeys = new VBArray(objMyData.Keys()).toArray();
var arrItems = new VBArray(objMyData.Items()).toArray();
for (intLoop = 0; intLoop < objMyData.Count; intLoop++) {
strThisKey = arrKeys[intLoop];
strThisItem = arrItems[intLoop];
}
For Each objItem in arrItems
Response.Write objItem & “ = “ & arrItems(objItem) & “<BR>”
Next
%>