Advertisement
pacho_the_python

Untitled

Mar 12th, 2023
770
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function movies(data) {
  2.     class Movie {
  3.         constructor(movieName, director, date) {
  4.             this.name = movieName
  5.             this.director = director
  6.             this.date = date
  7.         }
  8.     }
  9.  
  10.     function getMovieIndex(someName, someArr) {
  11.         for (let i = 0; i < someArr.length; i++) {
  12.             if (someArr[i].name === someName) {
  13.                 return i
  14.             }
  15.         }
  16.         return NaN
  17.     }
  18.  
  19.     let moviesArr = []
  20.     for (let line of data){
  21.         if (line.startsWith("addMovie")) {
  22.             let currentName = line.split('addMovie ')[1]
  23.             let newMovie = new Movie(currentName, '', '')
  24.             moviesArr.push(newMovie)
  25.         } else if (line.includes('directedBy')) {
  26.             let movieDirectorData = line.split(' directedBy ')
  27.             let currentMovieName = movieDirectorData[0]
  28.             let currentMovieDirector = movieDirectorData[1]
  29.  
  30.             let index = getMovieIndex(currentMovieName, moviesArr)
  31.             if (index || index === 0) {
  32.                 moviesArr[index].director = currentMovieDirector
  33.             }
  34.         } else if (line.includes('onDate')) {
  35.             let dateData = line.split(' onDate ')
  36.             let currentMovieName = dateData[0]
  37.             let currentDate = dateData[1]
  38.             let dateIndex = getMovieIndex(currentMovieName, moviesArr)
  39.             if (dateIndex || dateIndex === 0) {
  40.                 moviesArr[dateIndex].date = currentDate
  41.             }
  42.         }
  43.     }
  44.  
  45.     for (let k = 0; k < moviesArr.length; k++) {
  46.         if (moviesArr[k].name !== "" && moviesArr[k].director !== "" && moviesArr[k] !== "") {
  47.             let movieJSON = JSON.stringify(moviesArr[k])
  48.             console.log(movieJSON)
  49.         }
  50.     }
  51. }
  52.  
  53. movies([
  54.     'addMovie Fast and Furious',
  55.     'addMovie Godfather',
  56.     'Inception directedBy Christopher Nolan',
  57.     'Godfather directedBy Francis Ford Coppola',
  58.     'Godfather onDate 29.07.2018',
  59.     'Fast and Furious onDate 30.07.2018',
  60.     'Batman onDate 01.08.2018',
  61.     'Fast and Furious directedBy Rob Cohen'
  62. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement