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

Philip Collins
Philip Collins
13,249 Points

My search wont run properly.. I type in a name and the search prompt doesn't show again and no data shows up either..

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

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

function getStudentReport (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) {
  var search = prompt("Search Student records type a name [Jody] ( or type 'quit' to end");
  if ( search === nul || search.toLowerCase() === "quit"){
  for (var i = 0; i < students.length; i += 1) {
    student = students[i];
    if (student.name === search){
      message = getStudentReport(student);


I have made sure both the report file and the student data file is linked as a script in the index.html file too..

2 Answers

nul should be null.

Francisco Osegueda
Francisco Osegueda
11,114 Points

You have defined 2 variables with the name 'search'. Removing the var within the while loop should fix the problem. Also nul should be null