過濾 JavaScript 物件
這裡我們需要建立一個函式,傳入一個物件和一個檢索字串,篩選以檢索字串開頭的物件鍵並返回物件
以下是實現此功能的程式碼 −
示例
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"
}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP