2013-03-17 3 views
30

У меня есть сервер, который передает этот JSON, и я не уверен, как пройти через двумерный массив в Handlebars.Зацикливание через многомерный массив в Handlebars.js

"userSurvey":[[1],[2],[3]] 

Я знаю, что использовать {{#each userSurvey}}, но потом, как бы я идти о делать массивы внутри usersurvey объекта?

ответ

64

Вы должны были бы петлю 2 раза:

{{#each userSurvey}} 
    {{#each this}} 
    {{ this }} 
    {{/each}} 
{{/each}} 
+0

Есть ли проблема с нечисловыми ключами? (Я получил ключ как ключ, и я не смог его пропустить) – M98

+0

@Кермани-массив в JS может иметь только целые числа. Похоже, вы пытаетесь перекрыть объект. –

1

В данном конкретном случае, если вы хотите сделать просто «123» Вы можете сделать это:

{{#each userSurvey}} 
    {{this.[0]}} 
{{/each}} 

Или еще проще, потому что массивы automatiaclly преобразовать в строки:

{{#each userSurvey}} 
    {{this}} 
{{/each}} 
+1

А как насчет того, хотите ли вы сделать всего 2? Я знаю довольно старый вопрос, но это единственная хорошая документация, которую я мог бы найти по этой конкретной проблеме. {{this. [1]}} не работает. –

+0

{{this. [0]}} не работает! – azuax

0
{{#each Arr}} 
     {{#each this}} 
      <label>{{this.[0]}}</label> {{this.[1]}}<br> 
     {{/each}} 
    {{/each}} 

Вот мой простой пример для цикла массива моих массивов :)

Смежные вопросы