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

json扁平數(shù)組轉(zhuǎn)換成樹形數(shù)組

劉方嫻1年前6瀏覽0評論

在前端開發(fā)中,JSON數(shù)據(jù)的格式很常見。JSON是JavaScript對象表示法的縮寫,它可以用于前端與后端之間的數(shù)據(jù)傳遞,目前已經(jīng)成為一種通用的數(shù)據(jù)傳輸格式。在JSON數(shù)據(jù)中,JSON扁平數(shù)組是一種常見的形式,但是在實際應(yīng)用中,我們需要將這種扁平數(shù)組轉(zhuǎn)換為樹形結(jié)構(gòu),更好地呈現(xiàn)數(shù)據(jù)。

通常情況下,我們使用JavaScript語言來進行JSON數(shù)據(jù)的處理和轉(zhuǎn)換。以下是將JSON扁平數(shù)組轉(zhuǎn)換為樹形數(shù)組的示例代碼:

function toTreeData(data) {
var result = [];
var hash = {};
data.forEach(function(item) {
hash[item.id] = item;
});
data.forEach(function(item) {
var parent = hash[item.parentId];
if (parent) {
if (!parent.children) {
parent.children = [];
}
parent.children.push(item);
} else {
result.push(item);
}
});
return result;
}

代碼中定義了一個toTreeData函數(shù),該函數(shù)接受一個扁平數(shù)組數(shù)據(jù)作為參數(shù),并返回一個樹形數(shù)組數(shù)據(jù)。在函數(shù)中,我們首先創(chuàng)建了一個空數(shù)組result和一個空對象hash。我們遍歷扁平數(shù)組,并將數(shù)組的每個對象存儲到hash中,并以id作為key。接著,我們再次遍歷扁平數(shù)組,并判斷每個對象的parentId是否存在,如果存在,則將當(dāng)前對象的引用存儲到其父對象的children數(shù)組中,如果不存在,則將該對象存儲到result數(shù)組中。最后,我們返回result數(shù)組即可。

通過上述函數(shù),我們可以快速地將一個JSON扁平數(shù)組轉(zhuǎn)換為樹形結(jié)構(gòu),方便進一步的數(shù)據(jù)操作和頁面展示。在實際項目中,應(yīng)該根據(jù)具體的需求對函數(shù)進行適當(dāng)?shù)男薷模詽M足項目的需求。