객체와 문자열 리터럴 배열을 받는 함수를 작성해야 하며, 문자열 배열에 나타난 키와 함께 필터링된 객체를 반환합니다.
예를 들어 - 객체가 {"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'
}