核心归纳:
1、更换键名,用obj.key("xx")="newxx"
2、更换键值或访问指定键:1、重设键值:obj.item("xx")="newxx",2、取得键值:response.write obj.item("xx")=" ,如果obj.item("xx")="newxx" 中的KEY键“xx”未设定时,会在对象的后面增加一个键值对。
3、获得条目数:obj.count (从1开始)
4、增加键值对:obj.add key,value
5、移除键:obj.remove("key") , obj.removeall()
6、判定键是否存在:obj.Exists("key")
7、遍历:先把键和值各自赋给一个变量,构成一维数组,再用FOR遍历
a=d.keys
b=d.Items
'For x=0 to d.count-1 '或 从上到下遍历,
For x=d.Count-1 To 0 Step -1 '从下到上遍历 wan : abc zuo : 10254
Response.write a(x)
Response.write " : "
Response.write b(x)
Response.write "<br />"
Next
8、用obj..CompareMode = 0(二进制,默认,大小写敏感)或obj.CompareMode = 1(文本,大小写不区分,但不会后面的覆盖前面)来指定比较模式
=================================================================
简单的理解:Scripting.Dictionary对象相当于二维数组,但比二维数组更灵活,可以随时操纵其中某个键,而二维数组还要遍历。
以下用一个简单的案例来帮助理解:
set d=server.CreateObject("scripting.dictionary")
d.add "zuo",21312
d.add "wan","abc"
response.write d.Count '计数,从1开始
Response.write "<br />"
a=d.keys
b=d.Items
'For x=0 to d.count-1 '或 从上到下遍历,
For x=d.Count-1 To 0 Step -1 '从下到上遍历 wan : abc zuo : 10254
Response.write a(x)
Response.write " : "
Response.write b(x)
Response.write "<br />"
Next
Response.write d.item("wan") '输出指定的key值
Response.write "<br />"
d.item("wan")="新值"
Response.write d.item("wan") '输出指定的key值
Response.write "<br />"
d.key("wan")="newwan" '更改键名
'wan键名更改了,是否还有值?
Response.write "执行d.key(""wan"")=""newwan""后再输出wan"
Response.write d.item("wan") '无值输出。但要注意: d.item("wan") 不存在,可用d.Exists("wan")检测。
Response.write "<br />输出新名称newwan的值:"
Response.write d.item("newwan")
Response.write "<br />"
Response.write d.Exists("newwan") '分析是否存在这个键True。
d.Remove("newwan")
Response.write "<br />"
Response.write d.Exists("wan") '分析是否存在这个键True。
Response.write "<br />"
For x=d.Count-1 To 0 Step -1 '从下到上遍历 wan : abc zuo : 10254
Response.write a(x)
Response.write " : "
Response.write b(x)
Response.write "<br />"
Next