Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

배열을 기반으로 개체의 속성을 필터링하고 필터링된 개체 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'
}