Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การกรอง (Filtering) ออบเจ็กต์ใน JavaScript


เราต้องสร้างฟังก์ชันรับออบเจ็กต์และสตริงค้นหา แล้วกรอง Key ของออบเจ็กต์ที่ขึ้นต้นด้วยสตริงค้นหา และคืนออบเจ็กต์

โค้ดสำหรับทำเช่นนี้ −

ตัวอย่าง

const obj = {    "PHY": "Physics",    "MAT": "Mathematics",    "BIO": "Biology",    "COM": "Computer Science",    "SST": "Social Studies",    "SAN": "Sanskrit",    "ENG": "English",    "HIN": "Hindi",    "ESP": "Spanish",    "BST": "Business Studies",    "ECO": "Economics",    "CHE": "Chemistry",    "HIS": "History" } const str = 'en'; const returnFilteredObject = (obj, str) => {    const filteredObj = {};    Object.keys(obj).forEach(key => {       if(key.substr(0, str.length).toLowerCase() ===       str.toLowerCase()){          filteredObj[key] = obj[key];       }    });    return filteredObj; }; console.log(returnFilteredObject(obj, str));

คำอธิบายโค้ด −

เราเพียงแค่วนลูปแต่ละ Key ของออบเจ็กต์ ถ้าเริ่มต้นด้วย str ที่รับมา ให้เก็บไว้ในออบเจ็กต์ใหม่ มิฉะนั้นก็วนต่อ

สำหรับปัญหานี้ เราสร้างออบเจ็กต์ใหม่ แต่ถ้าอยากประสิทธิภาพดีกว่า สามารถ Delete คุณสมบัติที่ไม่ต้องการจากออบเจ็กต์เดิมได้เลย

ผลลัพธ์

ผลลัพธ์ใน Console จะเป็น −

{    ENG:"English" }