Advertisement
VeselaVideva

Objects and Classes - Exercise - 04. Movies

Oct 23rd, 2020
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function movies(input = []) {
  2.     class Movies {
  3.         constructor(name, director, date) {
  4.             this.name = name;
  5.             this.director = director;
  6.             this.date = date;
  7.         }
  8.     }
  9.  
  10.     let movies = [];
  11.     for (let i = 0; i < input.length; i++) {
  12.         let element = input[i];
  13.         let index = element.indexOf("addMovie");
  14.         let indexOne = element.indexOf("directedBy");
  15.         let indexTwo = element.indexOf("onDate");
  16.  
  17.         if (index !== -1) {
  18.             let movieName = element.split(" ").splice(index+1).join(" ");
  19.             movies.push(new Movies(movieName));
  20.         } else if (indexOne !== -1) {
  21.             let [movieName,directorName] = element.split(" directedBy ");
  22.             for (let j = 0; j < movies.length; j++) {
  23.                 let element = movies[j];
  24.                if (element.name === movieName) {
  25.                     element.director = directorName;
  26.                }
  27.             }
  28.         } else if(indexTwo !== -1) {
  29.             let [movieName,date] = element.split(" onDate ");
  30.             for (let j = 0; j < movies.length; j++) {
  31.                 let element = movies[j];
  32.                 if (element.name === movieName) {
  33.                     element.date = date;
  34.                 }
  35.             }
  36.         }
  37.     }
  38.  
  39.     for (let i = 0; i < movies.length ; i++) {
  40.         let element = movies[i];
  41.         let hasAllData = true;
  42.         let values = Object.values(element);
  43.         for (let j = 0; j < values.length; j++) {
  44.             if (values[j] === undefined) {
  45.                 hasAllData = false
  46.                 break;
  47.             }
  48.         }
  49.         if (hasAllData) {
  50.             console.log(JSON.stringify(element));
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement