Dictionary 對象
Dictionary 物件用於在結對的名稱/值中儲存資訊((等同於鍵和項目)。Dictionary 物件看似比陣列更為簡單,然而,Dictionary 物件卻是更令人滿意的處理關聯資料的解決方案。
比較Dictionary 和陣列:
鍵用於識別Dictionary 物件中的項目
無需調用ReDim 來改變Dictionary 物件的尺寸
當從Dictionary 刪除一個項目時,其餘的項目會自動上移
Dictionary 不是多維,而數組是
Dictionary 與數組相比,有更多的內建物件
Dictionary 在經常存取隨機元素時,比數組工作得更好
Dictionary 在根據它們的內容定位項目時,比數組工作得更好
Dictionary 物件的屬性和方法描述如下:
屬性
CompareMode:設定或傳回用於在Dictionary 物件中比較鍵的比較模式。
Count:傳回Dictionary 物件中鍵/項目對的數目。
Item:設定或傳回Dictionary 物件中一個項目的值。
Key:為Dictionary 物件中已有的鍵值設定新的鍵值。
方法
Add:向Dictionary 物件新增新的鍵/項目對。
Exists:傳回一個邏輯值,這個值可指示指定的鍵是否存在於Dictionary 物件中。
Items:傳回Dictionary 物件中所有項目的一個陣列。
Keys:傳回Dictionary 物件中所有鍵的一個陣列。
Remove:從Dictionary 物件中刪除指定的鍵/項目對。
RemoveAll:刪除Dictionary 物件中所有的鍵/項目對。
程式碼
<%
Dim oDic,aItems,aKeys
Set oDic = Server.CreateObject("Scripting.Dictionary")
'新增
oDic.Add "aaa",111
oDic.Add "bbb",222
oDic.Add "ccc",333
oDic.Add "ddd",444
'修改
If oDic.Exists("aaa") Then
oDic.key("aaa") = "eee" 'key屬性,唯讀
oDic.item("eee") = 555 'item屬性,可讀寫
End If
'列表
aKeys = oDic.Keys
aItems = oDic.Items
For i=0 To oDic.Count-1
Response.Write(aKeys(i) & "," & aItems(i))
Next
'刪除
Response.Write(oDic.Count)
oDic.Remove("eee") '從Dictionary 物件中移除鍵和項目對
Response.Write(oDic.Count)
oDic.RemoveAll() '刪除Dictionary 物件中的所有鍵和項目對
Response.Write(oDic.Count)
Set oDic = Nothing
%>