ที่นี่เราต้องสร้างฟังก์ชันที่รับวัตถุและสตริงการค้นหาและกรองคีย์ของวัตถุที่ขึ้นต้นด้วยสตริงการค้นหาและส่งคืนวัตถุ
นี่คือรหัสสำหรับการทำเช่นนั้น -
ตัวอย่าง
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));
คำอธิบายรหัส -
เราเพียงแค่วนซ้ำในแต่ละคีย์ของอ็อบเจ็กต์ ถ้ามันเริ่มต้นด้วย str ที่เราได้รับเป็นอาร์กิวเมนต์ เราก็บันทึกมันในอ็อบเจกต์อื่น มิฉะนั้น เราจะวนซ้ำ
เพื่อจุดประสงค์ของปัญหานี้ เราทำซ้ำผ่านแต่ละคีย์และผลักคีย์ที่จำเป็นในออบเจกต์ใหม่ แต่สำหรับโซลูชันที่มีประสิทธิภาพมากขึ้นแทนที่จะสร้างออบเจ็กต์ใหม่ เราอาจเพียงแค่ลบคุณสมบัติที่ไม่ต้องการออกจากออบเจ็กต์ดั้งเดิม
ผลลัพธ์
เอาต์พุตในคอนโซลจะเป็น -
{ ENG:"English" }