Home > Net >  the task is to change the getEpisodeInfo() method of the PodcastEpisode class. More details-----
the task is to change the getEpisodeInfo() method of the PodcastEpisode class. More details-----

Time:11-20

Still new to Javascript.. still learning..

the task is to change the getEpisodeInfo() method of the PodcastEpisode class, so that it'll return the episode duration in a more commonly accepted format.

 function getEpisodeInfo(){
return `${this.artist}. "${this.title}" - ${this.guest} ${this.getFormattedDuration()}`;
}
  

class PodcastEpisode {
  constructor(title, artist, guest,duration){
    this.title = title;
    this.artist = artist;
    this.guest = guest;
    this.duration = duration;
    this.getEpisodeInfo =getEpisodeInfo
    
  }

  like(){
      this.isLiked = this.isLiked;
  }
   getFormattedDuration() {
    const minutes = Math.floor(this.duration / 60); // the total number of minutes
    const seconds = this.duration % 60; // the remainder of the division by 60
    return `${minutes}:${seconds > 9 ?  seconds : "0"   seconds}`; 
}
 
}

CodePudding user response:

I guess you're just trying to move the getEpisodeInfo function into the Class.

But, you can't use the function keyword inside the class to define a method.

Here's the full code:

class PodcastEpisode {
    constructor(title, artist, guest, duration) {
        this.title = title;
        this.artist = artist;
        this.guest = guest;
        this.duration = duration;

    }

    like() {
        this.isLiked = true;
    }
    getFormattedDuration() {
        const minutes = Math.floor(this.duration / 60); // the total number of minutes
        const seconds = this.duration % 60; // the remainder of the division by 60
        return `${minutes}:${seconds > 9 ? seconds : "0"   seconds}`;
    }

    getEpisodeInfo() {
        return `${this.artist}. "${this.title}" - ${this.guest} ${this.getFormattedDuration()}`;
    }

}

Now you can create a PodcastEpisode Object and call podcast.getEpisodeInfo().

Let me know if that's not what you're trying to do.

  • Related