У меня есть function
, где я хочу создать unordered list
из array
. array
является вложенным, поэтому после запуска array
необходимо создать еще один <ul>
. Функция работает, но есть только одна проблема: unordered list
не отображается в правильном порядке. Я не знаю почему, потому что я сделал то же самое function
в PHP
, и там это отображается в правильном порядке. array
выглядит следующим образом:
$topics = [
'Aanwezigen / afwezigen',
'Toevoegingen agenda',
'Update openstaande actiepunten',
'Marketing' => [
'Website',
'Social media',
'Nieuwsbrief',
],
'Acquisitie' => [
'Leads',
'Deals',
'Netwerk',
],
'Inkoop' => [
'Leveranciers',
'Marges',
],
'Jaarrekening 2018',
'Komende periode',
'Oplezen actiepunten',
'Rondvraag',
];
Это мой Javascript function
:
let HTML = "<ul>";
for (const [key, value] of topics) {
if (Array.isArray(value)) {
HTML = HTML + "<li>" + key + "</li>";
for (let i = 0; i < value.length; i++) {
HTML = HTML + "<ul>";
HTML = HTML + "<li>" + value[i] + "</li>";
HTML = HTML + "</ul>";
}
} else {
HTML = HTML + "<li>" + value + "</li>";
}
}
Вывод HTML
таков:
- Aanwezigen / afwezigen
- Повседневная повестка дня
- Обновление openstaande actiepunten
- Jaarrekening 2018
- Период Komende
- Oplezen actiepunten
- Rondvraag
- Маркетинг
- Веб-сайт
- Социальные сети
- Nieuwsbrief
- Acquisitie
- Leads
- Предложения
- Netwerk * 1052 *
- Inkoop
Как вы можете видеть, он помещает HTML
, сгенерированный в if-statement
, в конец unordered list
, тогда как это не должно быть. Любой совет, как решить эту проблему? Или любое объяснение, почему оно не работает так же, как в PHP
?
Обновление:
Когда я console.log
* array
topics
это выглядит так:
(10) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
0: (2) ["0", "Aanwezigen / afwezigen"]
1: (2) ["1", "Toevoegingen agenda"]
2: (2) ["2", "Update openstaande actiepunten"]
3: (2) ["3", "Jaarrekening 2018"]
4: (2) ["4", "Komende periode"]
5: (2) ["5", "Oplezen actiepunten"]
6: (2) ["6", "Rondvraag"]
7: Array(2)
0: "Marketing"
1: (3) ["Website", "Social media", "Nieuwsbrief"]
length: 2
__proto__: Array(0)
8: Array(2)
0: "Acquisitie"
1: (3) ["Leads", "Deals", "Netwerk"]
length: 2
__proto__: Array(0)
9: Array(2)
0: "Inkoop"
1: (2) ["Leveranciers", "Marges"]
length: 2
__proto__: Array(0)
length: 10
__proto__: Array(0)