text: /*
  Use o método de filtro para extrair dados de uma matriz
  Outra função de array útil é Array.prototype.filter(), ou simplesmente filter().
  
  filterchama uma função em cada elemento de uma matriz e retorna uma nova matriz contendo apenas os elementos para os quais essa função retorna true. Em outras palavras, ele filtra o array com base na função transmitida a ele. Por exemplo map, ele faz isso sem a necessidade de modificar o array original.
  
  A função de retorno de chamada aceita três argumentos. O primeiro argumento é o elemento atual sendo processado. O segundo é o índice desse elemento e o terceiro é a matriz na qual o filtermétodo foi chamado.
  
  Veja abaixo um exemplo de uso do filtermétodo na usersmatriz para retornar uma nova matriz contendo apenas os usuários com idade inferior a 30 anos. Para simplificar, o exemplo usa apenas o primeiro argumento do retorno de chamada.
  */
  
  const users = [
      { name: "John", age: 34 },
      { name: "Amy", age: 20 },
      { name: "camperCat", age: 10 },
  ];
  
  const usersUnder30 = users.filter((user) => user.age < 30);
  console.log(usersUnder30); 
  
  /*
  O console exibiria o valor [ { name: 'Amy', age: 20 }, { name: 'camperCat', age: 10 } ].
  
  A variável watchList contém uma série de objetos com informações sobre vários filmes. Use uma combinação de filter e mapligado watchListpara atribuir uma nova matriz de objetos apenas com as teclas titlee rating. A nova matriz deve incluir apenas objetos onde imdbRating é maior ou igual a 8,0. Observe que os rating valores são salvos como strings no objeto e você pode precisar convertê-los em números para realizar operações matemáticas neles.
  */
  
  // The global variable
  var watchList = [
    {
      "Title": "Inception",
      "Year": "2010",
      "Rated": "PG-13",
      "Released": "16 Jul 2010",
      "Runtime": "148 min",
      "Genre": "Action, Adventure, Crime",
      "Director": "Christopher Nolan",
      "Writer": "Christopher Nolan",
      "Actors": "Leonardo DiCaprio, Joseph Gordon-Levitt, Elliot Page, Tom Hardy",
      "Plot": "A thief, who steals corporate secrets through use of dream-sharing technology, is given the inverse task of planting an idea into the mind of a CEO.",
      "Language": "English, Japanese, French",
      "Country": "USA, UK",
      "Awards": "Won 4 Oscars. Another 143 wins & 198 nominations.",
      "Poster": "http://ia.media-imdb.com/images/M/MV5BMjAxMzY3NjcxNF5BMl5BanBnXkFtZTcwNTI5OTM0Mw@@._V1_SX300.jpg",
      "Metascore": "74",
      "imdbRating": "8.8",
      "imdbVotes": "1,446,708",
      "imdbID": "tt1375666",
      "Type": "movie",
      "Response": "True"
    },
    {
      "Title": "Interstellar",
      "Year": "2014",
      "Rated": "PG-13",
      "Released": "07 Nov 2014",
      "Runtime": "169 min",
      "Genre": "Adventure, Drama, Sci-Fi",
      "Director": "Christopher Nolan",
      "Writer": "Jonathan Nolan, Christopher Nolan",
      "Actors": "Ellen Burstyn, Matthew McConaughey, Mackenzie Foy, John Lithgow",
      "Plot": "A team of explorers travel through a wormhole in space in an attempt to ensure humanity's survival.",
      "Language": "English",
      "Country": "USA, UK",
      "Awards": "Won 1 Oscar. Another 39 wins & 132 nominations.",
      "Poster": "http://ia.media-imdb.com/images/M/MV5BMjIxNTU4MzY4MF5BMl5BanBnXkFtZTgwMzM4ODI3MjE@._V1_SX300.jpg",
      "Metascore": "74",
      "imdbRating": "8.6",
      "imdbVotes": "910,366",
      "imdbID": "tt0816692",
      "Type": "movie",
      "Response": "True"
    },
    {
      "Title": "The Dark Knight",
      "Year": "2008",
      "Rated": "PG-13",
      "Released": "18 Jul 2008",
      "Runtime": "152 min",
      "Genre": "Action, Adventure, Crime",
      "Director": "Christopher Nolan",
      "Writer": "Jonathan Nolan (screenplay), Christopher Nolan (screenplay), Christopher Nolan (story), David S. Goyer (story), Bob Kane (characters)",
      "Actors": "Christian Bale, Heath Ledger, Aaron Eckhart, Michael Caine",
      "Plot": "When the menace known as the Joker wreaks havoc and chaos on the people of Gotham, the caped crusader must come to terms with one of the greatest psychological tests of his ability to fight injustice.",
      "Language": "English, Mandarin",
      "Country": "USA, UK",
      "Awards": "Won 2 Oscars. Another 146 wins & 142 nominations.",
      "Poster": "http://ia.media-imdb.com/images/M/MV5BMTMxNTMwODM0NF5BMl5BanBnXkFtZTcwODAyMTk2Mw@@._V1_SX300.jpg",
      "Metascore": "82",
      "imdbRating": "9.0",
      "imdbVotes": "1,652,832",
      "imdbID": "tt0468569",
      "Type": "movie",
      "Response": "True"
    },
    {
      "Title": "Batman Begins",
      "Year": "2005",
      "Rated": "PG-13",
      "Released": "15 Jun 2005",
      "Runtime": "140 min",
      "Genre": "Action, Adventure",
      "Director": "Christopher Nolan",
      "Writer": "Bob Kane (characters), David S. Goyer (story), Christopher Nolan (screenplay), David S. Goyer (screenplay)",
      "Actors": "Christian Bale, Michael Caine, Liam Neeson, Katie Holmes",
      "Plot": "After training with his mentor, Batman begins his fight to free crime-ridden Gotham City from the corruption that Scarecrow and the League of Shadows have cast upon it.",
      "Language": "English, Urdu, Mandarin",
      "Country": "USA, UK",
      "Awards": "Nominated for 1 Oscar. Another 15 wins & 66 nominations.",
      "Poster": "http://ia.media-imdb.com/images/M/MV5BNTM3OTc0MzM2OV5BMl5BanBnXkFtZTYwNzUwMTI3._V1_SX300.jpg",
      "Metascore": "70",
      "imdbRating": "8.3",
      "imdbVotes": "972,584",
      "imdbID": "tt0372784",
      "Type": "movie",
      "Response": "True"
    },
    {
      "Title": "Avatar",
      "Year": "2009",
      "Rated": "PG-13",
      "Released": "18 Dec 2009",
      "Runtime": "162 min",
      "Genre": "Action, Adventure, Fantasy",
      "Director": "James Cameron",
      "Writer": "James Cameron",
      "Actors": "Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang",
      "Plot": "A paraplegic marine dispatched to the moon Pandora on a unique mission becomes torn between following his orders and protecting the world he feels is his home.",
      "Language": "English, Spanish",
      "Country": "USA, UK",
      "Awards": "Won 3 Oscars. Another 80 wins & 121 nominations.",
      "Poster": "http://ia.media-imdb.com/images/M/MV5BMTYwOTEwNjAzMl5BMl5BanBnXkFtZTcwODc5MTUwMw@@._V1_SX300.jpg",
      "Metascore": "83",
      "imdbRating": "7.9",
      "imdbVotes": "876,575",
      "imdbID": "tt0499549",
      "Type": "movie",
      "Response": "True"
    }
  ];
  
  // Only change code below this line
  
  var filteredList = watchList.filter(filme => filme['imdbRating'] >= 8.0).map(({Title: title, imdbRating: rating}) => ({title, rating}));
  
  
  // var filteredList = watchList
  //   .map(movie => {
  //     return {
  //       title: movie.Title,
  //       rating: movie.imdbRating
  //     };
  //   })
  //   .filter(movie => {
  //     // return true it will keep the item
  //     // return false it will reject the item
  //     return parseFloat(movie.rating) >= 8.0;
  //   });
  
  
  // var filteredList = watchList
  //   .map(function(e) {
  //     return { title: e["Title"], rating: e["imdbRating"] };
  //   })
  //   .filter(e => e.rating >= 8);
  
  console.log(filteredList);
  
  
  console.log(filteredList);
  
  
  /*
  A watchListvariável não deve mudar.
  
  Seu código deve usar o filtermétodo.
  
  Seu código não deve usar um forloop.
  
  filteredListdeve ser igual [{"title": "Inception","rating": "8.8"},{"title": "Interstellar","rating": "8.6"},{"title": "The Dark Knight","rating": "9.0"},{"title": "Batman Begins","rating": "8.3"}].
  */