Ich habe eine verschachtelte Array von Objekten wie folgt:dynamisch gruppiert Erstellen von Listen Array von Objekten mit
result = [
[{"country":"France","continent":"Europe","name":"street a"}],
[{"country":"Brazil","continent":"South America", "name":"street b"},{"country":"Brazil","continent":"South America", "name":"street c"}],
[{"country":"Germany","continent":"Europe","name":"street d"}]
]
Beachten Sie, dass diese aus einem Array von Objekten erzeugt wurde nach dem Sortieren, Kontinent und anschließend die Länderschlüssel.
Ich möchte eine Liste dynamisch erzeugen, wie folgt (Kontinent und dann Länder) und fügen Sie es zu einem div
:
- Europa
- Frankreich
- Straße ein
- Deutschland
- Straße d
- Frankreich
- Südamerika
- Brasilien
- Straße b
- Straße c
- Brasilien
Jedes Mal, wenn die Länder und die Kontinente zurückkehrten, würde dies anders sein, aber das Ergebnis-Array würde in Kontinent, Länderreihenfolge gruppiert werden.
Da ich neu in HTML, CSS und JavaScript bin, kann ich nicht herausfinden, wie man diese Liste dynamisch erstellt. Bisher habe ich es geschafft, eine einzigartige Liste nur der Kontinente erzeugen: ein.
for(var i=0;i<result.length;i++){
if($('#continent-list li').filter(function(){
return $(this).text() == result[i][0].continent;
}).length == 0){
$('#continent-list').append('<li>'+result[i][0].continent+'<ul></ul></li>');
}
dh ich durch die Liste durchlaufen und nur die Mühe, das erste Element zu sehen [Ergebnis [i] [0]) und fügen dies zu einer ungeordneten Liste namens "Kontinent-Liste". Jedes Mal überprüfe ich auch, ob der Name bereits in der ungeordneten Liste existiert und wenn nicht, füge ich nur hinzu.
Es gibt ein paar Syntaxfehler in Ihrem JSON. Sind das wirklich oder ein Tippfehler in der Frage? Kannst du das reparieren? – Taplar
Hier ist kein JSON beteiligt. Bitte lesen Sie die Verwendungsbeschreibung des 'json' Tags. – trincot