JavaScript Maps
แผนที่มีคู่คีย์-ค่าที่คีย์สามารถเป็นประเภทข้อมูลใดก็ได้
แผนที่จะจดจำลำดับการแทรกเดิมของคีย์
วิธีการทำแผนที่ที่สำคัญ
วิธี | คำอธิบาย |
---|---|
แผนที่ใหม่() | สร้างแผนที่ใหม่ |
ชุด() | ตั้งค่าสำหรับคีย์ใน Map |
รับ() | รับค่าสำหรับคีย์ใน Map |
ลบ() | ลบองค์ประกอบแผนที่ที่ระบุโดยคีย์ |
มี() | คืนค่า true หากมีคีย์อยู่ใน Map |
แต่ละ() | เรียกใช้ฟังก์ชันสำหรับคู่คีย์/ค่าแต่ละคู่ใน Map |
รายการ() | ส่งกลับตัววนซ้ำด้วยคู่ [คีย์, ค่า] ใน Map |
คุณสมบัติ | คำอธิบาย |
ขนาด | ส่งกลับจำนวนองค์ประกอบใน Map |
วิธีสร้างแผนที่
คุณสามารถสร้าง JavaScript Map ได้โดย:
- ผ่านอาร์เรย์ไปยัง
new Map()
- สร้างแผนที่และใช้งาน
Map.set()
แผนที่ใหม่ () วิธีการ
คุณสามารถสร้างแผนที่โดยส่ง Array ไปยังnew Map()
Constructor:
ตัวอย่าง
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
ชุด () เมธอด
คุณสามารถเพิ่มองค์ประกอบลงในแผนที่ด้วยset()
วิธีการ:
ตัวอย่าง
// Create a Map
const fruits = new Map();
// Set Map Values
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);
วิธีset()
นี้ยังสามารถใช้เพื่อเปลี่ยนค่าแผนที่ที่มีอยู่:
ตัวอย่าง
fruits.set("apples", 200);
get() วิธีการ
วิธี การget()
รับค่าของคีย์ในแผนที่:
ตัวอย่าง
fruits.get("apples"); // Returns 500
ขนาดทรัพย์สิน
คุณสมบัติsize
ส่งคืนจำนวนองค์ประกอบในแผนที่:
ตัวอย่าง
fruits.size;
การลบ () วิธีการ
วิธี การdelete()
ลบองค์ประกอบแผนที่:
ตัวอย่าง
fruits.delete("apples");
มี () วิธีการ
เมธอดคืน ค่าhas()
จริง หากมีคีย์อยู่ในแผนที่:
ตัวอย่าง
fruits.has("apples");
ลองสิ่งนี้:
fruits.delete("apples");
fruits.has("apples");
วัตถุ JavaScript เทียบกับแผนที่
ความแตกต่างระหว่างวัตถุ JavaScript และแผนที่:
วัตถุ | แผนที่ | |
---|---|---|
Iterable | ไม่สามารถทำซ้ำได้โดยตรง | ทำซ้ำได้โดยตรง |
ขนาด | ไม่มีคุณสมบัติขนาด | มีคุณสมบัติขนาด |
ประเภทคีย์ | คีย์ต้องเป็นสตริง (หรือสัญลักษณ์) | คีย์สามารถเป็นประเภทข้อมูลใดก็ได้ |
คีย์ออร์เดอร์ | กุญแจไม่เป็นระเบียบ | คีย์สั่งโดยการแทรก |
ค่าเริ่มต้น | มีคีย์เริ่มต้น | ไม่มีคีย์เริ่มต้น |
วิธี forEach()
เมธอดเรียกใช้ ฟังก์ชันforEach()
สำหรับคู่คีย์/ค่าแต่ละคู่ในแผนที่:
ตัวอย่าง
// List all entries
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
รายการ () วิธีการ
entries()
เมธอดส่งคืนอ็อบเจ็กต์ iterator ด้วย [key, values] ใน Map :
ตัวอย่าง
// List all entries
let text = "";
for (const x of fruits.entries()) {
text += x;
}
รองรับเบราว์เซอร์
JavaScript Maps ได้รับการสนับสนุนในเบราว์เซอร์ทั้งหมด ยกเว้น Internet Explorer:
Chrome | Edge | Firefox | Safari | Opera |