JS กวดวิชา

เจเอสโฮม JS Introduction JS Where To JS เอาท์พุต งบ JS JS ไวยากรณ์ JS ความคิดเห็น ตัวแปร JS เจเอส เลท JS Const JS Operators JS เลขคณิต JS Assignment ประเภทข้อมูล JS ฟังก์ชัน JS วัตถุ JS JS Events JS Strings JS String Methods JS String Search เทมเพลตสตริง JS JS Numbers JS Number Methods JS Arrays JS Array Methods JS Array Sort JS Array Iteration JS Array Const JS Dates รูปแบบวันที่ JS JS วันที่รับเมธอด JS Date Set Methods JS Math JS สุ่ม JS Booleans JS เปรียบเทียบ JS Conditions JS Switch JS ลูปสำหรับ JS Loop สำหรับ In JS วนสำหรับ Of JS วนรอบในขณะที่ JS Break JS Iterables JS ชุด JS Maps JS Typeof JS ประเภทการแปลง JS Bitwise JS RegExp JS Errors JS ขอบเขต JS Hoisting JS โหมดเข้มงวด JS คำสำคัญนี้ JS Arrow Function JS Classes JS JSON JS Debugging คู่มือสไตล์ JS JS แนวทางปฏิบัติที่ดีที่สุด JS ความผิดพลาด JS Performance JS สงวนคำ

เวอร์ชัน JS

เวอร์ชัน JS JS 2009 (ES5) เจเอส 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / ขอบ JS History

วัตถุ JS

คำจำกัดความของวัตถุ คุณสมบัติของวัตถุ วิธีการวัตถุ การแสดงวัตถุ อุปกรณ์เสริมวัตถุ ตัวสร้างวัตถุ ต้นแบบวัตถุ วัตถุ Iterables ชุดวัตถุ แผนที่วัตถุ การอ้างอิงวัตถุ

ฟังก์ชัน JS

คำจำกัดความของฟังก์ชัน พารามิเตอร์ฟังก์ชัน เรียกใช้ฟังก์ชัน เรียกฟังก์ชัน ฟังก์ชัน สมัคร การปิดฟังก์ชัน

JS Classes

แนะนำคลาส การสืบทอดคลาส คลาสคงที่

JS Async

JS Callbacks JS แบบอะซิงโครนัส JS Promises JS Async/รอ

JS HTML DOM

บทนำ DOM วิธี DOM เอกสาร DOM องค์ประกอบ DOM DOM HTML แบบฟอร์ม DOM DOM CSS ภาพเคลื่อนไหว DOM กิจกรรม DOM DOM Event Listener การนำทาง DOM โหนด DOM DOM Collections รายการโหนด DOM

JS เบราว์เซอร์ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Web APIs

แนะนำ Web API เว็บฟอร์ม API API ประวัติเว็บ API ที่เก็บข้อมูลเว็บ Web Worker API API ดึงเว็บ เว็บ Geolocation API

JS AJAX

บทนำ AJAX AJAX XMLHttp คำขอ AJAX การตอบสนอง AJAX ไฟล์ AJAX XML AJAX PHP AJAX ASP ฐานข้อมูล AJAX แอปพลิเคชัน AJAX ตัวอย่าง AJAX

JS JSON

บทนำ JSON ไวยากรณ์ JSON JSON กับ XML ประเภทข้อมูล JSON JSON Parse JSON สตริงริฟาย วัตถุ JSON อาร์เรย์ JSON เซิร์ฟเวอร์ JSON JSON PHP JSON HTML JSON JSONP

JS กับ jQuery

ตัวเลือก jQuery jQuery HTML jQuery CSS jQuery DOM

JS กราฟิก

JS กราฟิก JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

ตัวอย่าง JS

ตัวอย่าง JS JS HTML DOM JS HTML อินพุต JS HTML Objects JS HTML Events JS Browser JS Editor JS แบบฝึกหัด JS Quiz ใบรับรอง JS

JS References

วัตถุ JavaScript วัตถุ HTML DOM


JavaScript Maps

แผนที่มีคู่คีย์-ค่าที่คีย์สามารถเป็นประเภทข้อมูลใดก็ได้

แผนที่จะจดจำลำดับการแทรกเดิมของคีย์

แผนที่มีคุณสมบัติที่แสดงขนาดของแผนที่

วิธีการทำแผนที่

วิธีคำอธิบาย
แผนที่ใหม่()สร้างวัตถุแผนที่ใหม่
ชุด()ตั้งค่าสำหรับคีย์ใน Map
รับ()รับค่าสำหรับคีย์ใน Map
แจ่มใส()ลบองค์ประกอบทั้งหมดออกจาก Map
ลบ()ลบองค์ประกอบแผนที่ที่ระบุโดยคีย์
มี()คืนค่า true หากมีคีย์อยู่ใน Map
แต่ละ()เรียกใช้การโทรกลับสำหรับคู่คีย์/ค่าแต่ละคู่ใน Map
รายการ()ส่งกลับวัตถุ iterator ด้วยคู่ [คีย์, ค่า] ใน Map
กุญแจ ()ส่งกลับวัตถุ iterator ด้วยคีย์ใน Map
ค่า ()ส่งกลับวัตถุ iterator ของค่าใน Map
คุณสมบัติคำอธิบาย
ขนาดส่งกลับจำนวนขององค์ประกอบแผนที่

วิธีสร้างแผนที่

คุณสามารถสร้าง JavaScript Map ได้โดย:

  • ผ่านอาร์เรย์ไปยังnew Map()
  • สร้างแผนที่และใช้งานMap.set()

แผนที่ใหม่()

คุณสามารถสร้างแผนที่โดยส่ง Array ไปยังnew Map()Constructor:

ตัวอย่าง

// Create a Map
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

Map.set()

คุณสามารถเพิ่มองค์ประกอบลงในแผนที่ด้วย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", 500);

Map.get()

วิธี การget()รับค่าของคีย์ในแผนที่:

ตัวอย่าง

fruits.get("apples");    // Returns 500


Map.size

คุณสมบัติsizeส่งคืนจำนวนองค์ประกอบในแผนที่:

ตัวอย่าง

fruits.size;

แผนที่.ลบ()

วิธี การdelete()ลบองค์ประกอบแผนที่:

ตัวอย่าง

fruits.delete("apples");

แผนที่.ล้าง()

วิธี การclear()ลบองค์ประกอบทั้งหมดออกจากแผนที่:

ตัวอย่าง

fruits.clear();

แผนที่.has()

เมธอดคืน ค่าhas()จริง หากมีคีย์อยู่ในแผนที่:

ตัวอย่าง

fruits.has("apples");

ลองสิ่งนี้:

fruits.delete("apples");
fruits.has("apples");

แผนที่เป็นวัตถุ

typeofส่งคืนวัตถุ:

ตัวอย่าง

// Returns object:
typeof fruits;

instanceofแผนที่ส่งคืนจริง:

ตัวอย่าง

// Returns true:
fruits instanceof Map;

วัตถุ JavaScript เทียบกับแผนที่

ความแตกต่างระหว่างวัตถุ JavaScript และแผนที่:

วัตถุแผนที่
Iterable ไม่สามารถทำซ้ำได้โดยตรง ทำซ้ำได้โดยตรง
ขนาด ไม่มีคุณสมบัติขนาด มีคุณสมบัติขนาด
ประเภทคีย์ คีย์ต้องเป็นสตริง (หรือสัญลักษณ์) คีย์สามารถเป็นประเภทข้อมูลใดก็ได้
คีย์ออร์เดอร์ กุญแจไม่เป็นระเบียบ คีย์สั่งโดยการแทรก
ค่าเริ่มต้น มีคีย์เริ่มต้น ไม่มีคีย์เริ่มต้น

Map.forEach()

เมธอดเรียกใช้ การforEach()เรียกกลับสำหรับคู่คีย์/ค่าแต่ละคู่ในแผนที่:

ตัวอย่าง

// List all entries
let text = "";
fruits.forEach (function(value, key) {
  text += key + ' = ' + value;
})

Map.keys()

เมธอดส่ง คืนkeys()อ็อบเจ็กต์ iterator พร้อมคีย์ใน Map:

ตัวอย่าง

// List all keys
let veggies = "";
for (const x of fruits.keys()) {
  veggies += x;
}

Map.values()

เมธอดส่ง คืนvaluesอ็อบเจ็กต์ iterator พร้อมค่าใน Map:

ตัวอย่าง

// Sum all values
let total = 0;
for (const x of fruits.values()) {
  total += x;
}

Map.รายการ()

entries()เมธอดส่งคืนอ็อบเจ็กต์ iterator ด้วย [key,values] ใน Map :

ตัวอย่าง

// List all entries
let text = "";
for (const x of fruits.entries()) {
  text += x;
}

วัตถุเป็นคีย์

ความสามารถในการใช้วัตถุเป็นกุญแจเป็นคุณสมบัติที่สำคัญของแผนที่

ตัวอย่าง

// Create Objects
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};

// Create a Map
const fruits = new Map();

// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

ข้อควรจำ: กุญแจคือวัตถุ (แอปเปิ้ล) ไม่ใช่สตริง ("แอปเปิ้ล"):

ตัวอย่าง

fruits.get("apples");  // Returns undefined

รองรับเบราว์เซอร์

JavaScript Maps ได้รับการสนับสนุนในเบราว์เซอร์ทั้งหมด ยกเว้น Internet Explorer:

Chrome Edge Firefox Safari Opera