Подтвердить что ты не робот

Ветка для построения ветвей в петле

Можно ли итеративно заполнить массив твинов со значениями?

{% for question in questions %}
{% set multipleChoiceArray = [] %}
    {% for multipleChoice in question.multipleChoiceAnswers %}
        {% set multipleChoiceArray = multipleChoiceArray|merge( multipleChoice.answerText )  %}
    {% endfor %}
{% endfor %}

проблема здесь multipleChoiceArray|merge(multipleChoice.answerText)

когда я пытаюсь передать массив, например, с ключом = loop.index, например

{% set multipleChoiceArray = multipleChoiceArray|merge({"loop['index']":"multipleChoice['answerText']"})  %}

он работает, но массив содержит строки "[" loop ['index'] ":" multipleChoice ['answerText'] "]"

когда я пытаюсь передать такие переменные, как:

{% set multipleChoiceArray = multipleChoiceArray|merge({loop.index:multipleChoice.answerText})  %}

исключение: хэш-ключ должен сопровождаться двоеточием (:). Неожиданный токен "пунктуация" значения ". ( "пунктуация" ожидается со значением ":" )

поэтому я не могу "нажать" значение "multipleChoice.answerText" в "multipleChoiceArray"

любые подсказки, как это возможно? я просто хочу собрать все возможные ответы, а затем проверить, есть ли ответ в этом массиве и подсчитать его и показать

4b9b3361

Ответ 1

Аргумент слияния должен быть массивом или объектом, чтобы объединить его с существующим. Поэтому напишите его как массив с одним элементом.

{% set multipleChoiceAnswerText = multipleChoice.answerText %}
{% set multipleChoiceArray = multipleChoiceArray|merge([multipleChoice.answerText])  %}