Map ใน JavaScript คืออะไร?
- Map เป็นโครงสร้างข้อมูลใน JavaScript ซึ่งอนุญาตให้จัดเก็บคู่ [คีย์ค่า] ซึ่งค่าใด ๆ สามารถใช้เป็นคีย์หรือค่าได้
- คีย์และค่าในการรวบรวม ของ mapอาจเป็นประเภทใดก็ได้และหากมีการเพิ่มค่าลงในการเก็บ map โดยใช้ key ที่มีอยู่แล้วในการรวบรวมแล้วค่าใหม่จะแทนที่ค่าเก่า
- การวนซ้ำขององค์ประกอบในวัตถุ map เสร็จสิ้นในลำดับการแทรกและลูป“ For…” จะส่งคืนอาร์เรย์ของคู่ [คีย์ค่า] ทั้งหมดสำหรับการวนซ้ำแต่ละครั้ง
ความแตกต่างระหว่างวัตถุและ map ใน JavaScript
โครงสร้างข้อมูลทั้งสองนี้มีความคล้ายคลึงกันในหลาย ๆ วิธีเช่นทั้งค่าที่เก็บโดยใช้คีย์อนุญาตให้เรียกใช้ค่าเหล่านั้นได้โดยใช้คีย์การลบคีย์ อย่างไรก็ตามมีความแตกต่างอย่างมากระหว่างวัตถุและ map ใน JavaScript ซึ่งทำให้การใช้ map เป็นตัวเลือกที่ดีและดีกว่าในหลายกรณี
- ปุ่มที่ใช้ใน map สามารถเป็นค่าประเภทใดก็ได้เช่นฟังก์ชั่นวัตถุ ฯลฯ ในขณะที่ปุ่มในวัตถุนั้น จำกัด อยู่ที่สัญลักษณ์และสตริง
- ขนาดของ map สามารถทราบได้ง่ายโดยใช้คุณสมบัติขนาด แต่ในขณะที่จัดการกับวัตถุขนาดจะต้องกำหนดด้วยตนเอง
- map ควรเป็นที่ต้องการในกรณีที่ความต้องการเกี่ยวข้องกับการเพิ่มและการลบคู่ [คีย์, ค่า] เนื่องจาก map เป็นชนิดข้อมูลซ้ำและสามารถทำซ้ำได้โดยตรงในขณะที่วนวัตถุต้องได้รับกุญแจในลักษณะที่เฉพาะเจาะจง
Method Map.delete () ใน JavaScript
Map.delete () ใน JavaScript จะใช้ในการลบ Elements (อีลีเมนท์ ที่ระบุในองค์ประกอบทั้งหมดที่มีอยู่ใน map
เมธอด Map.delete () ใช้คีย์ที่ต้องการลบออกจาก map ดังนั้นจะลบองค์ประกอบที่เกี่ยวข้องกับคีย์นั้นและคืนค่าจริง หากคีย์ไม่ปรากฏขึ้นก็จะส่งกลับเท็จ
การใช้งาน:
- Map.delete () ใช้เพื่อลบองค์ประกอบที่เกี่ยวข้องกับคีย์ท่ามกลางองค์ประกอบทั้งหมดที่มีอยู่ใน map
ตัวอย่างโค้ด
<script>
// creating a map object
var my_map = new Map();
// Adding [key, value] pair to the map
my_map.set(1, 'first');
my_map.set(2, 'second');
my_map.set(3,'third');
my_map.set(4,'fourth');
// will display true as key '3'
// is present and its associated
// element is removed as well
document.write(my_map.delete(3),"</br>","</br>");
// elements left in the map after deletion
document.write("key-value pair of the map",
" after deletion-","</br>");
my_map.forEach(function (item, key, mapObj)
{
document.write(key.toString(),":",
" ",item.toString() + "<br />");
});
</script>
ผลลัพธ์ที่ได้
true
key-value pair of the map after deletion-
1: first
2: second
4: fourth
ข้อผิดพลาดและข้อยกเว้น:
- ถ้า key pass เป็นอาร์กิวเมนต์ของฟังก์ชันนั้นไม่มีอยู่ใน map ดังนั้นมันจะส่งคืนค่าเท็จ โดยทั่วไปจะไม่ส่งข้อยกเว้นใด ๆ หรือไม่มีข้อผิดพลาด
ความแตกต่างในการทำงานของ Map.clear (), Map.erase () และฟังก์ชั่นนี้
Map.clear () ลบคู่ค่าคีย์ทั้งหมดของ map และลดขนาดของ map เป็นศูนย์ โดยที่ Map.erase () ลบค่าที่แม็พที่ระบุซึ่งคีย์ถูกส่งผ่านเป็นอาร์กิวเมนต์หรือตัววนซ้ำหรืออยู่ในช่วงเพื่อลบคู่