Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial

Jen Brannstrom
Courses Plus Student 5,694 Pointsobjects-and-arrays Quiz
Surely, this array should stop at item number 4?
http://gyazo.com/0d8ab966205ba2ed26486930d0b9576d
I have gone round this quiz about four times, tried every answer I think - they all say I am wrong :( ...
5 Answers

rayorke
27,709 PointsI'll duplicate the code here so it's easier to refer to:
for ( var i=0; i < 3; i+=1) {
console.log(fruits[i]);
}
Here is a more simple way of thinking of what the logic does when you are looping:
i = 0
Loop 1
- return "Apple" ( at index 0 )
- Loop complete, now make i + 1
i = 1
is i <3?
true
Loop 2
- return "Banana" ( at index 1 )
- Loop complete, now make i + 1
- i = 2
- is i <3?
- true
Loop 3
- return "Orange" ( at index 2 )
- loop complete, now make i + 1
i = 3
is i < 3?
i is not less than 3
i is equal to 3
return false
don't execute next loop
*If the code stated that i <= 3 , then it would loop through again and return the 4th index. So actually, the code stops at 3.

Jen Brannstrom
Courses Plus Student 5,694 Pointsaha, so the "loop-counting" starts at 1, but the place assigned starts counting at zero? (I'm speaking in noob-lingo here, am not fully conversant with the precise terminology yet)

rayorke
27,709 PointsWell, basically it comes down to the variable 'i' - which in this case is used as your counter.
When the first loop starts, i = 0 so it runs through the loop. The loops then prints the item at the array index 0 "Apple" ( since i=0 ). Before the end of the loop, you add + 1 to the i variable, making the i = 1
Then it checks to see if i < 3. At the start of the second loop, i = 1, so it runs through the loop. The loop then prints the item at the array index 1 "Banana" ( since now i = 1 ). Before the end of the loop, you add another +1 to the i variable, making the i = 2.
Then it checks to see if i < 3. At the start of the third loop, i = 2, so it runs through the loop. The loop then prints the item at the array index 2 "Orange" ( since now i = 2 ). Before the end of the loop, you add another +1 to the i variable, making the i = 3.
Then it checks to see if i < 3. At the start of the fourth loop, i = 3, so it returns a value of 'false' and doesn't execute the loop, and since this is the end of the program, it ends.
Does that clarify it a bit more? The loop continues to execute as long as i < 3.

Jen Brannstrom
Courses Plus Student 5,694 PointsThanks very much Rhys. That makes sense.

ecp
838 PointsYou guys are so awesome!
Thank you Rhys for being so thorough :D
Best,
Elizabeth