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

Bartlomiej Pajak
Bartlomiej Pajak
5,058 Points

Program is working, but is it all right?

I spent some time on that.. I would be grateful for some code review.

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'
  }
];

var message = '';
var student;
let search;
let html = '';
let name;

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


while (true) {
  search = prompt('Search for students information (type the name of the student or type "quit" to exit)')
  if ( search === 'quit' ) {
    break;
  } else {
  for (var i = 0; i < students.length; i += 1) {
  student = students[i];
  name = student.name; 

    if ( search.toLocaleLowerCase() === name.toLocaleLowerCase() ) {
  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);

1 Answer

Steven Parker
Steven Parker
202,007 Points

You could be a bit more consistent about using indentation to indicate nesting level, but otherwise this looks like the classic solution for this exercise. Good job! :+1: