使用 JavaScript 在对象数组中查找特定键值
javascriptweb developmentfront end technologyobject oriented programming
假设我们有一个像这样的 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