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 trial

JavaScript

Reza Sorasti
Reza Sorasti
491 Points

Why bracket is not being used in the for loop?

//This is the code of the instructor var message = ''; var student;

var students = [ { name: 'Dave', track: 'Front End Development', achievements: '158', points: '14730' }, { name: 'Jody', track: 'iOS Development with Swift', achievements: '175', points: '16375' }, { name: 'Jordan', track: 'PHP Development', achievements: '55', points: '2025' }, { name: 'John', track: 'Learn WordPress', achievements: '40', points: '1950' }, { name: 'Trish', track: 'Rails Development', achievements: '5', points: '350' } ];

function print(message) { var outputDiv = document.getElementById('output'); outputDiv.innerHTML = message; }

for (var i = 0; i < students.length; i += 1) { student = students[i]; message += '<h2>Student: ' + student.name + '</h2>'; message += '<p>Track: ' + student.track + '</p>'; message += '<p>Points: ' + student.points + '</p>'; message += '<p>Achievements: ' + student.achievements + '</p>'; } print(message);

I am wondering why did the instructor not use the braket notation instead in the for loop which we get the same result? like this:

for (var i = 0; i < students.length; i += 1) { //student = students[i]; message += '<h2>Student: ' + students[i].name + '</h2>'; message += '<p>Track: ' + students[i].track + '</p>'; message += '<p>Points: ' + students[i].points + '</p>'; message += '<p>Achievements: ' + students[i].achievements + '</p>'; }

Steven Parker
Steven Parker
231,110 Points

It's hard to tell what you are illustrating with the code not formatted.

Use the instructions for code formatting in the Markdown Cheatsheet pop-up below the "Add an Answer" area. :arrow_heading_down:
Or watch this video on code formatting.

1 Answer

Steven Parker
Steven Parker
231,110 Points

The brackets are used to assign student with the single student record using the index. Once that is done, the properties can be accessed using the student variable.

Your method of using the index again on students on every line would also work, and in that case you don't need the line assigning student at all.

Those are both ways to do the same job, but I think the instructor's way makes the code a little easier to read.