วัตถุพจนานุกรม
ออบเจ็กต์พจนานุกรมใช้เพื่อจัดเก็บข้อมูลเป็นคู่ชื่อ/ค่า (เทียบเท่ากับคีย์และรายการ) ออบเจ็กต์พจนานุกรมดูเหมือนจะง่ายกว่าอาร์เรย์ อย่างไรก็ตาม ออบเจ็กต์พจนานุกรมเป็นโซลูชันที่น่าพอใจมากกว่าสำหรับการจัดการข้อมูลที่
เกี่ยวข้อง
คีย์ใช้เพื่อระบุรายการในออบเจ็กต์พจนานุกรม
ไม่จำเป็นต้องเรียก ReDim เพื่อเปลี่ยนขนาดของออบเจ็กต์พจนานุกรม
เมื่อรายการถูกลบออกจากพจนานุกรม รายการที่เหลือจะถูกย้ายขึ้นโดย
อัตโนมัติ ในขณะที่อาร์เรย์เป็น
. Dictionary มีการเปรียบเทียบกับอาร์เรย์มากกว่าพจนานุกรมวัตถุในตัว
ทำงานได้ดีกว่าอาร์เรย์เมื่อเข้าถึงองค์ประกอบแบบสุ่มบ่อยครั้ง
พจนานุกรมทำงานได้ดีกว่าอาร์เรย์เมื่อค้นหารายการตามเนื้อหา
คุณสมบัติและวิธีการของวัตถุพจนานุกรมอธิบายไว้ดังนี้:
คุณสมบัติ
CompareMode: ตั้งค่าหรือส่งคืนโหมดการเปรียบเทียบที่ใช้ในการเปรียบเทียบคีย์ในออบเจ็กต์พจนานุกรม
จำนวน: ส่งกลับจำนวนคู่คีย์/รายการในวัตถุพจนานุกรม
รายการ: ตั้งค่าหรือส่งกลับค่าของรายการในวัตถุพจนานุกรม
คีย์: ตั้งค่าคีย์ใหม่สำหรับค่าคีย์ที่มีอยู่ในออบเจ็กต์พจนานุกรม
วิธี
เพิ่ม: เพิ่มคู่คีย์/รายการใหม่ให้กับวัตถุพจนานุกรม
มีอยู่: ส่งกลับค่าตรรกะที่ระบุว่ามีคีย์ที่ระบุอยู่ในออบเจ็กต์พจนานุกรมหรือไม่
รายการ: ส่งกลับอาร์เรย์ของรายการทั้งหมดในวัตถุพจนานุกรม
คีย์: ส่งกลับอาร์เรย์ของคีย์ทั้งหมดในวัตถุพจนานุกรม
ลบออก: ลบคู่คีย์/รายการที่ระบุออกจากออบเจ็กต์พจนานุกรม
RemoveAll: ลบคู่คีย์/รายการทั้งหมดในออบเจ็กต์พจนานุกรม
รหัสโปรแกรม
-
Dim oDic, aItems, aKeys
ตั้ง oDic = Server.CreateObject("Scripting.Dictionary")
'เพิ่ม
oDic.เพิ่ม "aaa",111
oDic.เพิ่ม "bbb",222
oDic.Add "ccc",333
oDic.Add "ddd",444
'แก้ไข'
ถ้า oDic.Exists("aaa") แล้ว
oDic.key("aaa") = "eee" 'แอตทริบิวต์คีย์ อ่านอย่างเดียว
oDic.item("eee") = 555 'แอตทริบิวต์รายการ สามารถอ่านและเขียนได้
สิ้นสุดถ้า
'รายการ
aKeys = oDic.คีย์
aItems = oDic.Items
สำหรับ i=0 ถึง oDic.Count-1
การตอบสนองเขียน (aKeys (i) & "," & aItems (i))
ถัดไป
'ลบ
การตอบสนองเขียน(oDic.Count)
oDic.Remove("eee") 'ลบคู่คีย์และรายการออกจากวัตถุพจนานุกรม
การตอบสนองเขียน(oDic.Count)
oDic.RemoveAll() 'ลบคู่คีย์และรายการทั้งหมดในออบเจ็กต์ Dictionary
Response.Write(oDic.Count)
ตั้ง oDic = ไม่มีเลย
-