過濾 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"
}

更新日期:18-Aug-2020

190 次瀏覽

開啟你的 職業道路

透過完成課程獲得認證

入門
廣告