Професионална програма
Loading...
+ Нов въпрос
NikolayMinchev88 avatar NikolayMinchev88 1 Точки

Objects and Classes - Exercise 04. Movies

Не мога да разбера защо Judge ми дава само 20/100 на решението.

function movies(arr){

    for(let text of arr){

        let movieObj = {};

        if(text.includes(`addMovie`)){

            let name = text.replace("addMovie ", "");

            movieObj.name = name;

            for(let second of arr){

                if (second.includes(`${name} onDate`)){

                    let theDate = second.replace(`${name} onDate `, "");
                    movieObj.date = theDate;
                }

                if(second.includes(`${name} directedBy`)){

                    let director = second.replace(`${name} directedBy `, "");
                    movieObj.director = director;

                }

            }
               
            console.log(JSON.stringify(movieObj));

        }

    }

}


movies(

[

    'Inception directedBy Christopher Nolan',

    'Godfather directedBy Francis Ford Coppola',

    'Godfather onDate 29.07.2018',

    'Batman directedBy Christopher Nolan',

    'Fast and Furious onDate 30.07.2018',

    'Batman onDate 01.08.2018',

    'Fast and Furious directedBy Rob Cohen',

    'addMovie Fast and Furious',

    'addMovie Batman',

    'addMovie Godfather',

]

);

Опитах с всякакви инпути, но нищо.

Исках да я реша по начин различен от преподавателя, начинът там е много неразбираем за мен (труден).

И Judge не ми каза какво е сгрешено.

Тагове:
0
JavaScript Fundamentals
MartinBG avatar MartinBG 2680 Точки
Best Answer

Не сте спазили тази част от условието:

At the end print all the movies that have all the info (if the movie has no director, name or date, don’t print it) in JSON format.

Примерен тест, който ще демонстрира проблема:

movies(
  [
    'addMovie Godfather',
  ]
);

// принтира филм без режисьор и дата
// {"name":"Godfather"}

 

За да го решите, може да проверявате дали филмът има точно 3 пропъртита, преди да го отпечатате:

      if (Object.keys(movieObj).length === 3) {
        console.log(JSON.stringify(movieObj));
      }

 

 

0
NikolayMinchev88 avatar NikolayMinchev88 1 Точки

Много благодаря!

Тъкмо се чудех как да намеря length на обект :)

1