asp dictionary对象使用介绍
作者:亮亮 来源:亮亮博客 时间:2008-05-30 13:51:00
dictionary对象和数组有点相似,但无需用redim来改变dictionary的大小,dictionary也没有多维,dictionary比数组优秀的地方是比数组内建的方法多,操作比数组灵活些,在定位上和频繁访问上比数组效率高
首先建立dictionary对象
set dic=Server.CreateObject("Scripting.Dictionary")
下面是一些基本的用法示例
1.向 dictionary 对象添加新的键/值对
dic.Add "a","这是a"
dic.Add "aa","这是aa"
dic.item("a3")="增加a3"
2.返回dictionary 中某个键的值
response.Write(dic.item("aa")&"<br>")
response.Write(dic.item("a3")&"<br>")
3.为已有的键(key)设置新值
dic.item("aa")="aa的值变了"
response.Write(dic.item("aa")&"<br>")
4.返回在dictionary对象中键/值对的数目
response.Write(dic.count&"<br>")
5.返回在dictionary对象中是否存在指定的键(key)
response.Write(dic.Exists("a")&"<br>")
6.items返回dictionary对象中的所有值的一个数组
itemArr=dic.items
for i=0 to dic.Count-1
Response.Write(itemArr(i)&"<br>")
next
7.keys方法返回dictionary对象中所有key的数组。
keyArr=dic.Keys
for i=0 to dic.Count-1
Response.Write(keyArr(i)&"<br>")
next
8.设置键的比较模式
0 = vbBinaryCompare - 二进制比较
1 = vbTextCompare - 文本比较
2 = vbDatabaseCompare - 数据库比较
本来dic.Exists("A")返回false,但加上比较模式后将返回true
set dic=Server.CreateObject("Scripting.Dictionary")
dic.CompareMode=1
dic.Add "a","这是a"
dic.Add "aa","这是aa"
dic.item("a3")="增加a3"
response.Write(dic.Exists("A")&"<br>")
上面将打印出true
这样写也会报错 dic.Add "A","这是A"
9.删除指定的键/值对
dic.remove("aa")
dic.Exists("aa")将返回false
response.Write(dic.Exists("aa")&"<br>")
10.删除所有的键/值对
dic.removeall
response.Write(dic.Exists("a3")&"<br>")
最后当然就是释放对象
set dic=nothing
上面就是dictionary的一些基本用法,下面看看它的几个应用实例,下面的例子都是网上搜集到的,具体的作者不详!
先看这一个,代码如下:
str="海尔电脑.T618,联想电脑.GD88,TCL电脑.T720i,长虹电视.6610,TCL电脑.3300,长虹电视.M55,海尔电脑.T68ie,长虹电视.7650,长虹电视.7210,海尔电脑.P802,海尔电脑.T312"
response.Write(str&"<br />")
dim dic:Set dic = server.CreateObject("Scripting.Dictionary")
strArr=split(str,",")
for each strAtt in strArr
str2Att=split(strAtt,".")
if dic.Exists(str2Att(0)) then
dic.Item(str2Att(0))=dic.Item(str2Att(0)) & "," & str2Att(1)
else
dic.Add str2Att(0),str2Att(1)
end if
next
for each strKey in dic.Keys
response.write "["&strKey&"]"&dic.Item(strKey)&"<br>"
next
另外一个是利用dictionary创建二维数组的例子,这样做的优点是数组下标可以是字符串并且长度不是固定的
Set a1 = CreateObject("scripting.dictionary")
For i=1 To 9
Set a2 = CreateObject("scripting.dictionary")
For j=1 To 12
a2.add CStr("aaa"&j),CStr("b"&i&"b"&j*10)
Next
a1.add ("bbb"&i),a2
Set a2=Nothing
Next
For i=1 To 9
For j=1 To 12
acs=a1("bbb"&i)("aaa"&j)
response.write acs&" "
Next
response.write "<Br>"
Next
response.end
Set a1=Nothing
标签:dictionary,对象,数组
0
投稿
猜你喜欢
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2022-11-20 07:59:16
十行代码使用Python写一个USB病毒
2021-08-27 17:05:41
Python中 传递值 和 传递引用 的区别解析
2023-12-26 07:05:22
系统默认的MySQL用户名消失的解决方法
2008-12-02 14:26:00
sqlserver中with(nolock)深入分析
2024-01-27 13:39:48
PHP结构型模式之外观模式
2023-05-25 11:43:14
Python基于scrapy采集数据时使用代理服务器的方法
2022-06-03 08:37:04
Django搭建MySQL主从实现读写分离
2024-01-14 08:13:09
MySQL数据库中应当如何实施info()函数
2008-11-27 15:04:00
javascript中的replace函数(带注释demo)
2024-04-18 09:47:52
Python的Flask框架中Flask-Admin库的简单入门指引
2021-11-06 03:30:19
Python读取大型数据文件的6种方式汇总
2021-06-29 12:19:33
一篇文章搞定Mysql日期时间函数
2024-01-20 19:32:58
Oracle例外用法实例详解
2024-01-16 21:46:23
Python数据可视化实现正态分布(高斯分布)
2022-10-28 03:31:29
Python 实现打印单词的菱形字符图案
2021-06-30 20:08:52
python多线程semaphore实现线程数控制的示例
2022-12-29 18:31:40
给Django Admin添加验证码和多次登录尝试限制的实现
2022-10-17 01:09:34
Go使用Gin+mysql实现增删改查的详细实例
2024-01-20 20:38:43
php中使用key,value,current,next和prev函数遍历数组的方法
2023-10-18 20:17:39