在 JavaScript 中透過 id 屬性搜尋複雜物件
假設我們有一個類似這樣的複雜 JSON 物件 −
const obj = {
"id": "0001",
"fieldName": "sample1",
"fieldValue" "0001",
"subList": [
{
"id": 1001,
"fieldName": "Sample Child 1",
"fieldValue": "1001",
"subList": []
},
{
"id": 1002,
"fieldName": "Sample Child 2",
"fieldValue": "1002",
"subList": []
}
]
}我們需要編寫一個 JavaScript 函式,該函式接受這樣的一個物件和一個 key 值對(必須是 "id" key-value 對)。然後該函式應返回包含所查詢 key/value 對的整個子物件。
示例
程式碼如下 −
const obj = {
"id": "0001",
"fieldName": "sample1",
"fieldValue": "0001",
"subList": [
{
"id": 1001,
"fieldName": "Sample Child 1",
"fieldValue": "1001",
"subList": []
},
{
"id": 1002,
"fieldName": "Sample Child 2",
"fieldValue": "1002",
"subList": []
}
]
}
function searchById(searchKey, obj) {
let key = Object.keys(searchKey)[0];
let res;
if (obj[key] === searchKey[key]) {
return obj;
};
obj.subList.some(function (a) {
res = searchById(searchKey, a);
return res;
});
return res;
}
console.log(searchById({id: 1002}, obj));輸出
控制檯輸出如下 −
{
id: 1002,
fieldName: 'Sample Child 2',
fieldValue: '1002',
subList: []
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP