Tạo hàm nhận object và chuỗi tìm kiếm, lọc các key bắt đầu bằng chuỗi đó, trả về object mới.
Ví dụ
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));
Kết quả
{ ENG:"English" }
Chỉ key ENG bắt đầu bằng en (case-insensitive). Duyệt keys, so sánh prefix. Để hiệu năng tốt hơn trên object lớn: xóa property không cần thiết thay vì tạo object mới (delete obj[key]), nhưng sẽ mutate gốc.