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! While you're at it, check out some resources Treehouse students have shared here.
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 trialTom Byers
13,005 PointsWhy does this for loop not iterate array items in order?
Challenge: Use a for or while loop to iterate through the values in the temperatures array from the first item -- 100 -- to the last -- 10. Inside the loop, log the current array value to the console.
var temperatures = [100,90,99,80,70,65,30,10];
for (var i = 0; i < temperatures.length; i +=1) {
console.log(i);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>
3 Answers
Grace Kelly
33,990 PointsHi Tom what you are logging out is not the values in the temperatures array but the value i. This value is incremented by 1 through each iteration so you are getting the following output:
0
1
2
3
4
5
6
7
This is not what we want. What we need to do is log each value of the temperatures array (100,90,99 etc). We do this by passing the i value into index of the temperatures array to get the value that corresponds to the i value's index, like so:
for (var i = 0; i < temperatures.length; i +=1) {
console.log(temperatures[i]); //pass the i value into the temperatures array index
}
This will then give us the following output:
100 //temperatures[0]
90 //temperatures[1]
99 //temperatures[2]
etc
Hope that helps!!
Gunhoo Yoon
5,027 Pointsi is simply a number that keep increases until it reaches length of termperatures array. It doesn't automatically pick up item from array. All you get by running your code is number 0..7
var temperatures = [100,90,99,80,70,65,30,10];
for (var i = 0; i < temperatures.length; i +=1) {
// Use i as index of temperatures
console.log(temperatures[i])
}
Tom Byers
13,005 PointsMakes sense. Legend, thanks.