JavaScript:
การใช้แอเรย์สมาชิก
วิธีการ:
การสร้างและใช้อาร์เรย์ที่เชื่อมโยงกัน (อ็อบเจกต์) ใน JavaScript เป็นเรื่องตรงไปตรงมา คุณกำหนดอ็อบเจกต์ด้วยปีกกา {}
, และภายในนั้น คุณสามารถกำหนดชุดของคู่คีย์-ค่าได้ คีย์เสมอเป็นสตริง และค่าสามารถเป็นอะไรก็ได้: สตริง, ตัวเลข, อาร์เรย์, หรือแม้กระทั่งอ็อบเจกต์อื่น
// การสร้างอาร์เรย์ที่เชื่อมโยงกัน
let userInfo = {
name: "Alex",
age: 30,
email: "[email protected]"
};
// การเข้าถึงองค์ประกอบ
console.log(userInfo.name); // ผลลัพธ์: Alex
console.log(userInfo["email"]); // ผลลัพธ์: [email protected]
// เพิ่มองค์ประกอบใหม่
userInfo.job = "Developer";
userInfo["country"] = "Canada";
console.log(userInfo);
/* ผลลัพธ์:
{
name: "Alex",
age: 30,
email: "[email protected]",
job: "Developer",
country: "Canada"
}
*/
// การลบองค์ประกอบ
delete userInfo.age;
console.log(userInfo);
/* ผลลัพธ์:
{
name: "Alex",
email: "[email protected]",
job: "Developer",
country: "Canada"
}
*/
เช่นที่คุณเห็น, การเข้าถึง, เพิ่ม, หรือลบองค์ประกอบในอาร์เรย์ที่เชื่อมโยงกันนั้นทำได้แบบตรงไปตรงมาและอย่างตรงสัญชาตญาณ
ลึกดำดิ่ง
ในโลกของ JavaScript, ถึงแม้เรามักได้ยินคำว่า “อาร์เรย์ที่เชื่อมโยงกัน,” มันเป็นคำที่ใช้ไม่ถูกต้องจากเทคนิคเพราะ JavaScript ไม่มีอาร์เรย์ที่เชื่อมโยงกันแท้จริงเหมือนกับภาษาอื่น ๆ (เช่น PHP) สิ่งที่ JavaScript มีคืออ็อบเจกต์ที่ให้บริการวัตถุประสงค์ที่คล้ายคลึงกัน แต่เป็นโครงสร้างที่ทรงพลังและยืดหยุ่นมากขึ้น
จากประวัติศาสตร์, อาร์เรย์ในภาษาโปรแกรมมิ่งออกแบบมาเพื่อถือคอลเลกชันของไอเท็ม, ที่เข้าถึงโดยดัชนีตัวเลข อย่างไรก็ตาม, เมื่อการพัฒนาซอฟท์แวร์พัฒนาต่อไป, ความต้องการโครงสร้างข้อมูลที่ยืดหยุ่นมากขึ้นก็ปรากฏขึ้น อาร์เรย์ที่เชื่อมโยงกัน หรือพจนานุกรมในภาษาอื่น, เป็นหนึ่งในคำตอบ, อนุญาตให้เข้าถึงองค์ประกอบผ่านคีย์ที่เป็นอิสระ
วิธีการของ JavaScript กับอ็อบเจกต์เป็นที่เก็บคีย์-ค่านำเสนอการผสมผสานของความสามารถ มันอนุญาตให้คุณสมบัติ (คีย์) ถูกเพิ่ม, ลบ, และมองหาตามชื่อ JSON (JavaScript Object Notation) เป็นหลักฐานถึงประโยชน์ของโครงสร้างนี้, กลายเป็นมาตรฐาน de facto สำหรับการแลกเปลี่ยนข้อมูลบนเว็บ
ในขณะที่อ็อบเจกต์ครอบคลุมความต้องการสำหรับอาร์เรย์ที่เชื่อมโยงกันในแทบทุกกรณี, ในกรณีที่ลำดับคีย์หรือการวนซ้ำเป็นสิ่งสำคัญ, อ็อบเจกต์ Map
ที่เ introducedือใน ES6 ให้ทางเลือกที่ดีกว่า Map
รักษาลำดับคีย์, ยอมรับช่วงข้อมูลประเภทของคีย์ที่กว้างขึ้น, และรวมวิธีการที่มีประโยชน์สำหรับการวนซ้ำและการเรียกดูขนาด ถึงแม้ว่าจะมีข้อได้เปรียบเหล่านี้, ไวยากรณ์อ็อบเจกต์แบบดั้งเดิมยังคงเป็นที่นิยมสำหรับความเรียบง่ายและการใช้งานได้ง่ายในสถานการณ์ทั่วไปหลายๆ แบบ