Getting the loop index in an eco template

18.9k Views Asked by At

Is it possible to get the current loop index using the eco template engine?

For example in Jinja2 you can do

{% for var in array %}
    {{ loop.index0 }}
{% endfor %}

If not is there a more idiomatic way of getting at the index?

2

There are 2 best solutions below

1
On BEST ANSWER

From the CoffeeScript website:

# Fine five course dining.
courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
menu i + 1, dish for dish, i in courses

Could also be written as

courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
for dish, i in courses
  menu i + 1, dish 

For the eco template, something like this should do it:

<% for val, idx in @varName: %>
<span>The index is <%= idx %> and value is <%= val %></span>
<% end %>
2
On

Yes, just using the CoffeeScript for (but take care of the extra :):

<% for thing, i in @things: %>
  <%= i %>: <%= thing %>
<% end %>

jsFiddle example.