根據陣列篩選 JavaScript 中物件的屬性並獲取已篩選的物件


我們必須編寫一個函式,它輸入一個物件和一個字串文字陣列,並返回一個已篩選的物件,其中包含出現在字串陣列中的鍵。

例如,如果物件是 {“a”: [], “b”: [], “c”:[], “d”: []} 且陣列是 [“a”, “d”],則輸出應為 −

{“a”: [], “d”:[]}

因此,讓我們編寫此函式的程式碼,

我們將遍歷物件的鍵,不管它是否存在於陣列中,如果是,則將鍵值對推入新物件中,否則我們將繼續遍歷並在最後返回新物件。

示例

const capitals = {
   "usa": "Washington DC",
   "uk": "London",
   "india": "New Delhi",
   "italy": "rome",
   "japan": "tokyo",
   "germany": "berlin",
   "china": "shanghai",
   "spain": "madrid",
   "france": "paris",
   "portugal": "lisbon"
};
const countries = ["uk", "india", "germany", "china", "france"];
const filterObject = (obj, arr) => {
   const newObj = {};
   for(key in obj){
      if(arr.includes(key)){
         newObj[key] = obj[key];
      };
   };
   return newObj;
};
console.log(filterObject(capitals, countries));

輸出

控制檯中的輸出為 −

{
   uk: 'London',
   india: 'New Delhi',
   germany: 'berlin',
   china: 'shanghai',
   france: 'paris'
}

更新時間: 2020-08-25

395 次檢視

開始您的職業生涯

完成課程獲得認證

開始
廣告