Skip to Content
DocumentationGet Started@each Statement

Overview

@each is a method (not a loop structure) that is often used to iterate over arrays or collections.
It’s a more functional and concise way of doing loops, often preferred for array manipulation.

It’s like saying:

“For each item in the collection, do something with it!”


Syntax (Generic Form)

@each(cards:card) { <i>Index @(_i): </i><b>@(card.name)</b> }

How It Works

  • The @each method iterates over each element in an array.

  • It executes the provided function for each item in the collection, passing the item, index @(_i), and the entire array as parameters.

  • Using @(_i) you can access the current item’s index, _i is built in.


Example (JavaScript)

index.js
const numbers = [1, 2, 3, 4, 5]; numbers.forEach(function(num) { console.log(num * 2); // Double each number });

Output:

2 4 6 8 10

Example (Zare)

res.render("index", {items: [{name: "Soap", price: 20}, {name: "Rice", price: 50}, {name: "Oil", price: 100}]} );
index.zare
serve ( <ul> @each (items:item) { <li>@(item.name) - $@(item.price)</li> } </ul> )

Output:

<ul> <li>soap - $20</li> <li>Rice - $50</li> <li>Oil - $100</li> </ul>

Key Points

  • @each cannot break or continue the loop early. If you need that.

  • It’s a keyword, and it only works with arrays (or array-like objects).

  • The block inside {…} is executed for each element in the collection.

Last updated on