Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm key cụ thể trong mảng đối tượng bằng JavaScript

Cho đối tượng JSON:

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

Viết hàm nhận object và cặp key-value (vd: {"productId": 456}), tìm key cha chứa productId khớp.

Ví dụ

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' }));

Kết quả

Kết quả in ra console:

LAPTOP