Collection Iteration (foreach, in, do, end)
The foreach statement executes a statement block for each element in a collection, automatically handling iteration over arrays and objects. An iterator variable is automatically declared and assigned each element value during iteration.
ForEachStmt = "foreach" Identifier "in" Expression "do"
{ Statement }
"end" ;
For arrays, the iterator variable receives each element value in order. For objects, the iterator variable receives each property value. The iterator variable is automatically scoped to the loop and shadows any existing variable with the same name.
Valid Syntax:
foreach item in Data.items do
ProcessItem(item)
end
foreach user in userList do
ValidateUser(user)
SaveUser(user)
end
foreach item in array ["car", "box", "table", "dog"] do # Note use of array to declare an array literal
ProcessItem(item)
end
Notes
- The iterator variable is automatically declared and scoped to the loop
- Use
inkeyword, notofor other variants - The expression must evaluate to an iterable collection
- Iterator variable shadows any existing variable with the same name