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

JavaScript를 사용하여 객체 배열에서 특정 키 값 찾기


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

const obj = {
   "LAPTOP": [{
      "productId": "123"
   }],
   "DESKTOP": [{
      "productId": "456"
   }],
   "MOUSE": [{
      "productId": "789"
   }, {
      "productId": "012"
   }],
   "KEY-BOARD": [{
      "productId": "345"
   }]
};

이러한 객체를 첫 번째 인수로, 키 값 쌍을 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다.

키 값 쌍은 기본적으로 다음과 같은 객체에 불과합니다. -

const pair = {"productId": 456};

그런 다음 함수는 지정된 "productId"가 있는 키에 대해 개체를 검색하고 이를 반환해야 합니다.

예시

이에 대한 코드는 -

const obj = {
   "LAPTOP": [{
      "productId": "123"
   }],
   "DESKTOP": [{
      "productId": "456"
   }],
   "MOUSE": [{
      "productId": "789"
   }, {
      "productId": "012"
   }],
   "KEY-BOARD": [{
      "productId": "345"
   }]
};
const searchByPair = (obj = {}, pair = {}) => {
   const toSearch = Object.values(pair)[0];
   let required = undefined;
   Object.keys(obj).forEach((key) => {
      if(obj[key].find((pid) => pid.productId === toSearch)){
         required = key;
      }
   });
   return required;
};
console.log(searchByPair(obj, {
   'productId': '123'
}));

출력

콘솔의 출력은 -

LAPTOP