asp集合Scripting.Dictionary创建数组并循环

ASP   2025-02-28 14:05   64   0  

【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

%>


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。