Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Correction d'un TP de fin d'examem


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Correction d'un TP de fin d'examem
    Bonjour à tous amis codeur,

    Je sors tout juste de formation d'apprentissage de JS et mon examen final est un TP via Sandbox. Pour résumer, je dois compléter le code d'une application qui permettra aux utilisateurs de suivre les livres qu'ils sont en train de lire et qu'ils ont déjà lus. J'ai donc écris un code qui permet bien l'affichage des livres sur l'appli, mais qui ne reçoit pas l'information de l'utilisateur quand ce dernier modifie le nombre de pages ("page") directement sur l'appli.

    Voici le code que j'ai écris, mais qui ne réalise pas parfaitement ce que l'on souhaite :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    export class Book {
      constructor(title, author, description, pages, currentPage, read, ) {
        this.title = title;
        this.author = author;
        this.description = description;
        this.pages = pages;
        this.currentPage = currentPage;
        this.read = read;
      }
      readBook(page) {
        if (page < 1 || page > this.pages.length) {
          return 0;
        }
        else if (page >= 1 && page < this.pages.length) {
          this.currentPage = page;
          return 1;
        }
        else if (page = this.pages.length) {
          this.currentPage = page;
          this.read = true;
          return 1;
        }
      }
    }
     
    export const books = [
      new Book("Le roi des haricots", "Frank Bean", "Le seul livre qui parle vraiment des haricots.", 125, 5, false),
      new Book("Le seigneur des mouchoirs", "Carla Rossy", "Après le succès incomparable des petits mouchoirs, découvrez celui qui les gouverne tous.", 364, 364, false),
      new Book("Le champ de blé", "Gregor Honnor", "Un trésor horrifique ce cache dans ce champ de blé.", 545, 16, false)
    ];



    Il va de soit qu'afin de progresser, je souhaiterai de l'aide pour trouver mes erreurs et non une réponse toute prête ou la correction exacte du TP. Pensez-vous pouvoir m'aider ?

    Merci et bon WE à vous !

  2. #2
    Rédacteur/Modérateur

    Salut bienvenue sur DVP

    Attention à ta ligne 18
    else if (page = this.pages.length) { le = (égal simple) dans cette syntaxe est une affectation,
    else if (page == this.pages.length) { là tu fais bien une comparaison, c'est la bonne syntaxe.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Candidat au Club
    Merci beaucoup pour la correction, cela ne règle pas mon problème, mais c'est tout de même très apprécié.

    Merci d'avance à tous pour votre aide

  4. #4
    Membre régulier
    Bonjour,
    dans tes if / else if, tu fais une comparaison avec this.pages.length, or this.page semble être un entier et non un tableau. Ne faudrait-il pas plutot comparer directement avec this.page ?

    Bonne soirée

  5. #5
    Candidat au Club
    Mais bien sur, comment n'ai-je pas pu voir ca ! En comparant juste par this.page cela règle tout le problème...

    Merci beaucoup !!!

###raw>template_hook.ano_emploi###