2017-07-07 3 views
0

Erstens bin ich sehr neu bei nodeJS ... wie Tag 5. Also, ertragen Sie mit mir.Erstellen eines multidimensionalen Arrays aus einer flachen JSON-Datei

Ich baue eine FAQ App hinein zu bekommen, und ich habe einen Controller und ein Modell geschrieben, die diese JSON-Datei zurückgibt:

[ 
    { 
     faq_id: 1, 
     faq_question: "This is a question?", 
     faq_answer: "And a lovely answer", 
     tab_title: "Tab title here", 
     tab_id: 1 
    }, 
    { 
     faq_id: 2, 
     faq_question: "Another question", 
     faq_answer: "With an answer", 
     tab_title: "Tab title", 
     tab_id: 2 
    } 
] 

}

Die Anforderungen sind, dass alle Fragen sind in Tabs auf der FE kategorisiert. Also zwei Tabellen, eine für Tabs und eine für FAQs.

Für jede Frage ist eine entsprechende tab_id zugeordnet, um die Beziehung herzustellen.

Was ich tun muss, ist Top-Level-Verschachtelung in der JSON-Datei erstellen, um alle Tabs zu sein, dann über die Fragen iterieren und die faq_tab_id mit der Tab_id übereinstimmen und verschachteln die Frage in die entsprechende Registerkarte.

Ich habe angefangen mit der Verwendung einer UnderscoreJS-Karte zu untersuchen?

Nicht sicher, wie viel Sinn es macht oder ob mehr Code erforderlich wäre, aber jeder Rat wäre willkommen. Ich bin noch nicht auf die Terminologie eingegangen, also habe ich mich bemüht, eine bereits gestellte Frage zu finden, um so etwas zu tun.

Danke!

Antwort

0

Je nachdem, was Sie tun möchten, können Underscore.js groupBy function genug sein:

// This will group the objects by their 'tab_id' property 
var grouped = _.groupBy(myData, 'tab_id'); 
+0

Dank. Ich werde es mir jetzt ansehen. – Jay

+1

Sie Sir ... danke! Ich war ein wenig verloren auf der Fährte zu denken, dass ihre Kartenfunktion tun würde, was wir brauchen. – Jay

Verwandte Themen