ฟังก์ชัน has() ของออบเจกต์ Map ตรวจสอบว่ามี คีย์ (key) ที่ระบุอยู่ใน Map หรือไม่ คืนค่า true หากมี, false หากไม่มี
ไวยากรณ์
mapObj.has(key)
ตัวอย่าง: พบคีย์
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var mapObj = new Map(); mapObj.set('1', 'Java'); mapObj.set('2', 'JavaFX'); mapObj.set('3', 'HBase'); mapObj.set('4', 'Neo4j'); document.write(mapObj.has('3')); </script> </body> </html>
ผลลัพธ์
true
ตัวอย่าง: ไม่พบคีย์
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var mapObj = new Map(); mapObj.set('1', 'Java'); mapObj.set('2', 'JavaFX'); mapObj.set('3', 'HBase'); mapObj.set('4', 'Neo4j'); document.write(mapObj.has('19')); </script> </body> </html>
ผลลัพธ์
false
จุดสำคัญ:
- ตรวจสอบเพียงคีย์เท่านั้น (ไม่สนใจค่า)
- ใช้ strict equality (===) ในการเปรียบเทียบคีย์
- Object key ต้องเป็น reference เดียวกัน (ไม่ใช่ object ที่มีค่าเหมือนกัน)
- ประสิทธิภาพ O(1) เร็วกว่าการวนลูปหา
การใช้งานก่อน set/delete:
if (!map.has(key)) {
map.set(key, value);
}
if (map.has(key)) {
map.delete(key);
}