0
votes

JavaScript: ajoutez le lecteur à un objet spécifique dans un tableau

Je fais une application dans laquelle un utilisateur peut créer une équipe et y ajouter des joueurs, suivre les statistiques de l'équipe.

dans mon code, j'ai une gamme d'équipes, une fonction pour créer une équipe et une fonction Pour créer un joueur. p>

Je veux Creeenewplayer () Code> Pour accepter une variable d'équipe, il ajoute le joueur à l'équipe Wright. P>

maintenant, le La fonction renvoie l'équipe "n'existe pas", alors que j'ai créé une équipe avec ce nom exact avant d'exécuter la fonction. P>

Une idée de la manière de résoudre ce problème? P>

const Teams = []

// Team Class
class Team {
    constructor(name, players) {
        this.name = name;
        this.players = [];
    }
}

// Player class
class Player {  
    constructor(name, lastName, team, goal, assist, yellowCard, redCard, minPlayed) {
        this.name = name;
        this.lastName = lastName;
        this.team = team;
        this.goal = 0;
        this.assist = 0;
        this.yellowCard = 0;
        this.redCard = 0;
        this.minPlayed = 0;
    }
}

// Create new team
const createNewTeam = (name) => {
    if (typeof name === "string") {
        let newTeam = new Team(name);
        Teams.push(newTeam);
    } else {
        console.log("Something went wrong.");
    }
}

//Create new player
const createNewPlayer = (name, lastName, team) => {
    let newPlayer = new Player(name, lastName, team);
    for (i = 0; i < Teams.length; i++) {
        if (Teams[i].name === team) {
            Teams[i].players.push(newPlayer);
        } else {
            console.log("Team does not exist!")
        }
    }
}


0 commentaires

3 Réponses :


0
votes

Je pense que vous devez vérifier équipes [i] nom == équipe.name à la place.


0 commentaires

0
votes

J'essaierais quelque chose comme ceci: xxx


0 commentaires

0
votes

Vous en boucle sur toutes les équipes et dans chaque itération dans laquelle le nom de l'équipe ne correspond pas, vous vous enregistrez l'erreur. Vous devriez essayer quelque chose comme ceci:

let teamFound = false;
for (i = 0; i < Teams.length; i++) {
    if (Teams[i].name === team) {
        Teams[i].players.push(newPlayer);
        teamFound = true;
        break;
    }
}
if (!teamFound) {
    console.log("Team does not exist!")
}


0 commentaires