根據陣列篩選 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' }
廣告