8 of 17 menu

ข้อผิดพลาดในการเข้าถึงองค์ประกอบของอ็อบเจ็กต์ใน JavaScript

สมมติว่าเรามีอ็อบเจ็กต์หนึ่ง:

let obj = { a: 1, b: 2, c: 3, d: 4, e: 5, };

สมมติว่าเราต้องการดึงองค์ประกอบจากอ็อบเจ็กต์นี้โดยใช้คีย์บางอย่าง ชื่อของคีย์นี้ผู้ใช้ป้อนเข้ามาผ่าน input:

console.log(input.value);

โปรแกรมเมอร์มือใหม่บางคนทำผิดพลาดดังต่อไปนี้: พวกเขารันลูปผ่านอ็อบเจ็กต์เพื่อเปรียบเทียบคีย์แต่ละตัวกับค่าจาก input แบบนี้:

for (let key in obj) { if (key === input.value) { let elem = obj[key]; console.log(elem); // ค่าที่ต้องการหา break; } }

อย่างไรก็ตาม สำหรับงานนี้ การใช้ลูปไม่จำเป็นเลย เพราะเราสามารถรับค่าของเราโดยใช้คีย์ได้โดยตรง แบบนี้:

let elem = obj[input.value];

หากจำเป็น สามารถเพิ่มการตรวจสอบว่ามีคีย์ดังกล่าวในอ็อบเจ็กต์หรือไม่:

if (obj[input.value] !== undefined) { let elem = obj[input.value]; console.log(elem); } else { console.log('ไม่มีคีย์ดังกล่าวในอ็อบเจ็กต์'); }
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ