kstoyanov

04. Movies js fundamentals

Jul 2nd, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(args) {
  2.  
  3.   const movies = {};
  4.  
  5.   args.forEach((element) => {
  6.     const addMovie = element.includes('addMovie');
  7.     const directedBy = element.includes('directedBy');
  8.     const onDate = element.includes('onDate');
  9.  
  10.     if (addMovie) {
  11.       let movieName = element.replace(/addMovie\s*/, '');
  12.       if (!movies.hasOwnProperty(movieName)) {
  13.         movies[movieName] = { name: movieName };
  14.       }
  15.     } else if (onDate) {
  16.       const [movieName, date] = element.split(/\s*onDate\s*/);
  17.       if (movies.hasOwnProperty(movieName)) {
  18.         movies[movieName].date = date;
  19.       }
  20.     } else if (directedBy) {
  21.       const [movieName, director] = element.split(/\s*directedBy\s*/);
  22.       if (movies.hasOwnProperty(movieName)) {
  23.         movies[movieName].director = director;
  24.       }
  25.     }
  26.   });
  27.  
  28.   Object.keys(movies).forEach( (element) => {
  29.  
  30.     const movie = movies[element];
  31.       if (
  32.           movie.hasOwnProperty('name') &&
  33.           movie.hasOwnProperty('date') &&
  34.           movie.hasOwnProperty('director')
  35.       ) {
  36.           console.log(JSON.stringify(movie));
  37.       }
  38.  
  39.   });
  40. }
Add Comment
Please, Sign In to add comment