欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

children轉成平級json

林玟書2年前8瀏覽0評論

在處理 JSON 數據時,有時我們需要將嵌套的數據結構轉換為平行的 JSON 對象,這種情況經常出現在處理嵌套的 children 數據時。

假設我們有一份如下的 children 數據:

children: [{
id: 1,
label: '基礎組件',
children: [{
id: 11,
label: '按鈕'
}, {
id: 12,
label: '圖標'
}]
}, {
id: 2,
label: '表單組件',
children: [{
id: 21,
label: '輸入框'
}, {
id: 22,
label: '單選框'
}]
}]

我們可以通過以下的代碼將其轉換為平行的 JSON 對象:

const flattenJSON = (data, result = {}) =>{
data.forEach(item =>{
const {id, label, children} = item;
result[id] = {id, label};
if (children) {
flattenJSON(children, result);
}
});
return result;
}
// 調用
const flatData = flattenJSON(children);

運行后的平行 JSON 對象會如下:

{
"1": {
"id": 1,
"label": "基礎組件"
},
"11": {
"id": 11,
"label": "按鈕"
},
"12": {
"id": 12,
"label": "圖標"
},
"2": {
"id": 2,
"label": "表單組件"
},
"21": {
"id": 21,
"label": "輸入框"
},
"22": {
"id": 22,
"label": "單選框"
}
}

這樣處理后,我們就可以更方便的直接操作扁平化的數據了。