# FAQ: Loops - For Each Loops

This community-built FAQ covers the “For Each Loops” exercise from the lesson “Loops”.

Paths and Courses
This exercise can be found in the following Codecademy content:

## FAQs on the exercise For Each Loops

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

## Join the Discussion. Help a fellow learner on their journey.

Agree with a comment or answer? Like () to up-vote the contribution!

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

Hi! I didn’t quite understand how the foreach loop repeated the instruction the number of times that was needed to complete the tile pattern in the exercise? I expected it to only repeat the instruction according to the number of items in the list.

7 Likes

" We only need to write `placeTile()` once because the pink-green-red repetition is already described in the list."

So… the repetition is defined by the input “festiveList = [‘pink’, ‘green’, ‘red’, ‘pink’, ‘green’, ‘red’ ]”?
So, if I were to just input “festiveList = [‘pink’, ‘green’, ‘red’]” once, it wouldn’t loop? I just don’t get why you need to type ‘pink’, ‘green’, ‘red’ twice.

10 Likes

I would like to second this question, can you please explain how the lists were written?
Also where is the code to run each of the different list?
There is only placeTile(color) but how do we know to make it festiveList or moodyList?

2 Likes

The exercise calls for ‘placeTile(color)’

Does this mean that ‘color’ has already been defined outside of this exercise (ie the backend)? If I were building this from scratch, would I have to define ‘color’ first, before it can be used?

3 Likes

Is this exercise an infinite loop ?
How does the computer knows when to stop ?

2 Likes

Why is the “for each loop” a loop?

To me it is like asking the computer “do all this ONCE”. I do not see any loop in doing something only once.

1 Like

i would also like to understand that part, it kinda bugs me to get half of the information. to fully understand this, i would need to at least get access to the code behind (i’m guessing it’s backend because i don’t know exactly what it is yet) to see how it works. if someone could explain this to us, it would be really appreciated.

Thank you!

1 Like

i got a friend to explain me that the (color) has been defined in the “for each” before wich we don’t see because it’s not the point of this exercise and it could be confusing to give us that kind of information at this point.
feel free to answer my original question if you want to, so that it can help others, but i understand it now. Thank you!

1 Like

I Understand that this for each loop exercise might be a little tough.

I will try to explain it here.

Note that code editor. The different types of lists are already describes there with the exact sequence of color an the exact number of repetitions needed.

Hence, the syntax placeTile(color); works for all the spaces exactly.

A few of you have a question with regards to the code in the Learn part of the lesson.

festiveList = [‘pink’, ‘green’, ‘red’, ‘pink’, ‘green’, ‘red’ ]

Why was the loop repeated twice?

The only reason the loop was repeated twice was to show us an example. If this code is used in the editor, then only six tiles would be filled.

1 Like

Think of it like this:

festiveList is a list that has already been defined by the programmer. Within that list, the programmer has already specified the sequenced items (coloured titles) and just like any other list, each item is indexed (the first item starts at 0 and then moves to 1, and so on…)

The programmer then writes a ‘For Each Loop’. This loop works by working through a range and in this case that range is the list festiveList.
As seen below:

For each color in festiveList:
placeTile(color)

color is a variable and as we know, variables store data. In this instance, the index position from ‘festiveList’ is being stored. So at the very beginning of the ‘For Each Loop’ the index position is 0. This means that when the programme runs 'placeTile(color) it is asking the computer to place whatever is in indexed position 0 (pink). The ‘For Each Loop’ would then iterate again but this time the contents of variable color would be 1 (green) and this will continue until the ‘For Each Loop’ reaches the very end of the ‘fetiveList’.

Finally, placeTile() is a function. In this particular scenario, we can’t see how the placeTile() function is built but it clearly needs a parameter within the parentheses (the brackets) in order for the function to work. Again, whilst we can’t see how the function has been programmed, we can see what happens everytime that function is called ‘placeTitle (color)’ - it places the corresponding color (according to the index position) into the next available tile.

I hope this makes sense.

2 Likes

Could anyone please give us an example or two of when you would use a For Each Loop? It seems like the whole lesson is explaining how to avoid typing out repetitive strings but the For Each Loop, to me, just looks like a massive size block of repeated text. Thank you and I hope everyone is having a lovely day!

@mtf
We define a sequence of desired tile colors (a list), and tell the computer to repeat the instructions for each item in the sequence

hello can you tell me which instructions it is talking about in the given example in this excercise

There are three theme lists consisting of three colors alternating ten times. The `forEach` loop iterates over that list and places a tile in the order of iteration.

Use this loop when you need to perform a task for every item in a list, or when the order of things must be maintained. In this case, both were important.

In JavaScript, as well as other languages that use this construct, the loop cannot be broken, which makes it an ideal candidate for the task. There is no return value, only the repeated action on each item in the list.

``````const moodyList = ['blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver', 'blue', 'purple', 'silver']
moodyList.forEach(function (color) {
console.log(color)
}
``````
``````blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
blue
purple
silver
``````
1 Like

I’m lost. If I had a cheat sheet for the types of loops and their required syntax I’d be ok. Can someone help me?

The best cheat sheet for syntax is MDN.