<!DOCTYPE html>
<html>

  <head>
    <script data-require="jquery@3.1.1" data-semver="3.1.1" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script data-require="faker@3.1.0" data-semver="3.1.0" src="https://cdnjs.cloudflare.com/ajax/libs/Faker/3.1.0/faker.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="check.js"></script>
    <script src="filter.js"></script>
    <script src="script.js"></script>
  </head>

  <body>
    <iframe width="100%" frameborder="0" src="README.html"></iframe>
    <h2>Adults</h2>
    <h3 id="js-result">Waiting for filtering...</h3>
    <pre id="js-result-data"></pre>
    <h2>People</h2>
    <pre id="js-data"></pre>
  </body>

</html>
function generateAge() {
  var age = 0;
  while (age < 1 || age > 120)
    age = faker.random.number();

  return age;
}

function generatePerson() {
  return {
    name: faker.name.findName(),
    age: generateAge()
  };
}

function generateData() {
  var people = [];
  for (var i = 0; i < 100; i++)
    people.push(generatePerson());

  return people;
}

var people = generateData();

$(function() {
  $('#js-data').html(JSON.stringify(people, null, 2));
  
  var adults = filterAdults(people);
  if (adults) {
    if (compare(people, adults)) {
      $('#js-result').html('Correct!').addClass('success');
    } else {
      $('#js-result').html('Wrong!').addClass('error');
    }
    $('#js-result-data').html(JSON.stringify(adults, null, 2));
  }
});
body {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}

#js-result {
  color: lightgray;
}

#js-result.success {
  color: green;
}

#js-result.error {
  color: red;
}
# Istruzioni

Nel file `filter.js` implementa la funzione `filterAdults` in modo che restituisca
la lista di quelle che sono persone maggiorenni (cioè con `age` di almeno 18),
tra quelle generate.
function filterAdults(people) {
  var adults = [];

  // your filter here
  // please, return an array with adults only
  
  return adults;
}
function sortPeople(a, b) {
  if (a.age < b.age)
    return -1;
  else if (a.age > b.age)
    return 1;
  else
    return a.name < b.name ? -1 : 1;
}

function compare(people, adults) {
  var myAdults = people.filter(function(p) {
    return p.age >= 18;
  }).sort(sortPeople);
  var theirAdults = adults.sort(sortPeople);

  return myAdults.every(function(a, i) {
    return a.name === theirAdults[i].name && a.age === theirAdults[i].age;
  });
}