Я объявил простой массив в своем JavaScript и пытаюсь передать значения из другого массива, внутри которого есть словарь. Но выдвигается только первое значение, а не остальные.
<script>
complist = []
var testjs = [{'issuancedte': 'Finance', 'totalcomp': 1}, {'issuancedte': 'AnotherOne', 'totalcomp': 5}]
for (opt in testjs)
if ((adm_section_array.includes(testjs[opt].issuancedte)))
$('#data').append('<tr><td>' + testjs[opt].issuancedte + '</td><td>' + testjs[opt].totalcomp + '</td></tr>')
complist.push(testjs[opt].totalcomp);
</script>
Итак, из приведенного выше кода я должен получить:
complist = [1, 5]
но вместо этого я получаю только:
complist = [1]
По каким-то совершенно непонятным причинам, если я помещаю строку .push над той, где я добавляю данные в форму, список компоновки создается так, как должно быть, но таблица не добавляется.
Это должно быть написано так,
if ((adm_section_array.includes(testjs[opt].issuancedte))) {
$('#data').append('<tr><td>' + testjs[opt].issuancedte + '</td><td>' + testjs[opt].totalcomp + '</td></tr>')
complist.push(testjs[opt].totalcomp);
}
Обратите внимание на фигурные скобки после блока if.
Если этот ответ решает проблему, отметьте ее как решенную.
Подойдет, придется подождать 10 минут, прежде чем я смогу это сделать.
Вау, ошибка новичка, не стоит этого делать. Спасибо, что указали на это, теперь это работает!