Как мне написать этот метод JavaScript для сравнения параметра со значениями приведения объекта? - PullRequest
1 голос
/ 18 октября 2019

Определите метод с именем roleOf, который принимает имя актера в качестве аргумента и возвращает роль этого актера. Если актера нет в фильме, верните «Не в этом фильме». Пример: roleOf ("Джессика Честейн") возвращает "Мерф". Подсказка: метод может получить доступ к свойствам объекта, используя ключевое слово this. Пример: this.cast обращается к свойству объекта cast.

- Код -

var movie = { // Code will be tested with different actors and movies
   name: "Interstellar",
   director: "Christopher Nolan",
   composer: "Hans Zimmer",
   cast: {
      "Matthew McConaughey": "Cooper",
      "Anne Hathaway": "Brand",
      "Jessica Chastain": "Murph",
      "Matt Damon": "Mann",
      "Mackenzie Foy": "Young Murph"
   },
   roleOf: function(actorName) {

      if (actorName != this.cast){ // My code
         console.log("Not in this movie."); // My code
      } // My code
      else { // My code
      return this.cast[actorName]; 
      } // My code

   }
};

Я также попробовал оператор if с actorName! = "Мэтью МакКонахи" ||"Энн Хэтэуэй" ||и т.д ... Это тоже не сработало.

Как сравнить имя параметра со списком имен в приведении? Я прокомментировал // Мой код рядом с моей попыткой, которая оказалась неудачной. Возвращение this.cast [actorName];является частью предоставленного кода.

1 Ответ

0 голосов
/ 18 октября 2019

Используя оператор короткого замыкания, вы можете просто написать:

return this.cast[actorName] || 'Not in this movie.';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...