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

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