使用 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP