【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 %>