簡體   English   中英

反映文件夾結構的JSON對象的路徑列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM