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

JavaScript JavaScript Loops, Arrays and Objects Tracking Data Using Objects The Student Record Search Challenge Solution

Can anyone tell me what's possibly wrong in this code???

var message = '';
var student;
var search;

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

function getStudentName( student ) {

  var report = '<h2>Student: ' + student.name + '</h2>';
  report += '<p>Track: ' + student.track + '</p>';
  report += '<p>Points: ' + student.points + '</p>';
  report += '<p>Achievements: ' + student.achievements + '</p>';
  return report;

while (true) {
  search = prompt("Search the students records: as for example, type [jody] to get his info or       type quit to quit the search");

  if (search === null || search.toLowerCase() === "quit") {

for (var i = 0; i < students.length; i += 1) {
  student = students[i];
  if( student.name === search){
  message = getStudentName( student );

stuck here for so many hours.

1 Answer

Sam Donald
Sam Donald
36,305 Points

To get this while loop working you need to add a couple more break keywords.

Once you find the student you should break out of that loop so that you're not needlessly continuing to iterate through the loop.

But remember the break keyword will only break you out of the nearest loop. And your for loop is inside another loop, so you'll need to add another break for the first loop too.


You may like to take a look at this thread from another student asking about the same video/challenge.