![](/img/trans.png)
[英]Processing some JSON to output a a JSON object that represents a folder structure
[英]List of paths to JSON object that mirrors the folder structure
我正在建立一個基於cms的小文件夾。 我正在使用php提取文件夾的所有路徑,並且想使用javascript構建網站。 我知道我可以用php做所有事情,但是我更精通javascript,因此我想用它代替php。 無論如何用PHP我得到這個列表:
0: {parent: "theater", child: "How_to_be_a_regisseur", text: "Project 1!↵Phasellus a quam non arcu accumsan rhon…ium leo ante, vitae volutpat diam consectetur in."}
1: {parent: "theater", child: "How_to_be_a_regisseur", img: "./content/theater/How_to_be_a_regisseur/img/download.jpeg"}
2: {parent: "theater", child: "How_to_be_a_regisseur", img: "./content/theater/How_to_be_a_regisseur/img/rsz_namibia_will_burrard_lucas_wwf_us_1.jpg"}
4: {parent: "theater", child: "WOOWW", text: "Project 1!↵Phasellus a quam non arcu accumsan rhon…ium leo ante, vitae volutpat diam consectetur in."}
...
12: {parent: "varia", child: "gggggg", text: "Project 1!↵Phasellus a
13: {parent: "varia", child: "gggggg", img: "./content/varia/gggggg/img/download.jpeg"}
14: {parent: "varia", child: "gggggg", img: "./content/varia/gggggg/img/rsz_namibia_will_burrard_lucas_wwf_us_1.jpg"}
...
20: {parent: "about", child: null, img: "./content/about/img/download.jpeg"}
parent
表示文件夾, child
表示子文件夾,並且img
或用text
表示該文件夾的內容。 是否有任何方法可以將這個數組重組為具有這種結構的對象數組,在該結構中,所有parents
對象都成為一個包含children
對象數組的屬性,每個children
對象都包含具有指向圖像或文本鏈接的不同對象?
{
theater: [
How_to_be_a_regisseur: {
img: "path",
text: "blah blah"
},
WOOW: {
img: "path",
text: "blah blah"
}
],
varia:[...{[][]}]
}
var list = [ { parent: "theater", child: "How_to_be_a_regisseur", text: "Project 1!↵Phasellus a quam non arcu accumsan rhon…ium leo ante, vitae volutpat diam consectetur in." }, { parent: "theater", child: "How_to_be_a_regisseur", img: "./content/theater/How_to_be_a_regisseur/img/download.jpeg" }, { parent: "theater", child: "How_to_be_a_regisseur", img: "./content/theater/How_to_be_a_regisseur/img/rsz_namibia_will_burrard_lucas_wwf_us_1.jpg" }, { parent: "theater", child: "WOOWW", text: "Project 1!↵Phasellus a quam non arcu accumsan rhon…ium leo ante, vitae volutpat diam consectetur in." }, { parent: "varia", child: "gggggg", text: "Project 1!↵Phasellus a "}, { parent: "varia", child: "gggggg", img: "./content/varia/gggggg/img/download.jpeg"}, { parent: "varia", child: "gggggg", img: "./content/varia/gggggg/img/rsz_namibia_will_burrard_lucas_wwf_us_1.jpg"}, { parent: "about", child: null, img: "./content/about/img/download.jpeg"} ]; var new_list = list.reduce((accumulator, currentValue, currentIndex, array) => { var parent = currentValue.parent; var child = currentValue.child; if (!accumulator[parent]) { accumulator[parent] = []; } if (!accumulator[parent][child]) { accumulator[parent][child] = []; } accumulator[parent][child].push({ text: currentValue.text, img: currentValue.img }); return accumulator; }, {}); console.log(new_list);
我以某種方式重組了它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.