Liliana797979

movies - fundamentals

Jun 25th, 2021
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.      
  2. function movies (list) {
  3.     let moviesList = [];
  4.  
  5.     for (let command of list) {
  6.         if (command.includes('addMovie')) {
  7.             let [_, ...movieName] = command.split(' ');
  8.             let movieNameAsString = movieName.join(' ');
  9.             let movieObject = {
  10.                 name: movieNameAsString
  11.             };
  12.             moviesList.push(movieObject);
  13.         } else if (command.includes('directedBy')) {
  14.             let tokens = command.split(' ');
  15.             let movieNameTokens = [];
  16.             let directorNameTokens = [];
  17.  
  18.             let directedByIndex = tokens.findIndex(x => x === 'directedBy');
  19.  
  20.             for (let i = 0; i < directedByIndex; i++) {
  21.                 movieNameTokens.push(tokens[i]);
  22.             }
  23.            
  24.             for (let i = directedByIndex + 1; i < tokens.length; i++) {
  25.                 directorNameTokens.push(tokens[i]);
  26.             }
  27.            
  28.             let name = movieNameTokens.join(' ');
  29.             let director = directorNameTokens.join(' ');
  30.  
  31.             let movie = moviesList.find(x => x.name === name);
  32.             if (movie) {
  33.                 movie.director = director;
  34.             }
  35.         } else {
  36.             let tokens = command.split(' ');
  37.             let date = tokens.pop();
  38.             tokens.pop();
  39.             let name = tokens.join(' ');
  40.  
  41.             let movie = moviesList.find(x => x.name === name);
  42.             if (movie) {
  43.                 movie.date = date;
  44.             }
  45.         }
  46.     }
  47.  
  48.     for (let movie of moviesList) {
  49.         if (movie.director && movie.date && movie.name) {
  50.             console.log(JSON.stringify(movie));
  51.         }
  52.     }
  53. };
Advertisement
Add Comment
Please, Sign In to add comment