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

JavaScript - SQL의 쿼리와 같이 일치하는 값에 대한 키 찾기

<시간/>

다음과 같은 객체가 있다고 가정해 보겠습니다. -

const obj = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"};

첫 번째 인수로 하나의 객체를, 두 번째 인수로 검색어를 취하는 JavaScript 함수를 작성해야 합니다. 그러면 우리 함수는 두 번째 인수로 함수에 제공된 검색어를 포함하는 모든 키/값 쌍을 반환해야 합니다.

우리는 단순히 객체를 반복하고 결과 객체(조건과 일치하는 경우)를 구축하고 이동하고 마지막으로 해당 객체를 반환합니다.

예시

이에 대한 코드는 -

const obj = {
   "100":"Jaipur",
   "101":"Delhi",
   "102":"Raipur",
   "104":"Goa"
};
const findByQuery = (obj, query) => {
   const keys = Object.keys(obj);
   const res = {};
   keys.forEach(key => {
      // case insensitive search
      if(obj[key].toLowerCase().includes(query.toLowerCase())){
         res[key] = obj[key]
      };
   });
   return res;
};
console.log(findByQuery(obj, 'Pur'));

출력

콘솔의 출력은 -

{ '100': 'Jaipur', '102': 'Raipur' }