使用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

以上是 使用JavaScript在对象数组中查找特定的键值 的全部内容, 来源链接: utcz.com/z/334726.html

回到顶部