coffeescripteco

Getting the loop index in an eco template


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?


Solution

  • 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 %>