There are actually secret looping commands. Secret because many people don't think of them as looping.
Because netlogo is designed to make it easy to work with quantities of agents, it has built in way to loop through agents in sets and in lists.
ASK -- loops through the agents and makes them do stuff
(Like foreach ( agent in agents ), and self is like this)
OF -- loops through a set of agents And make them perform a calculation, returns a list of the results
MAP -- loops through a list, performing a calculation on each list item, returns a list of the results
REDUCE - loops through a list, combining the items using some expression, returns a single value
WITH - loops through a set of agents, making them perform a true/false 👍🏽calculation. Returns the set of agents that returned true
CREATE, SPROUT, HATCH -- creates a number of agents, then loops through the agents making them do stuff.