Javascript:将播放器添加到数组中的特定对象
我正在制作一个应用程序,用户可以在其中创建一个团队并向其中添加球员,以跟踪团队统计数据 在我的代码中,我有一个团队数组、一个创建团队的函数和一个创建玩家的函数 我希望Javascript:将播放器添加到数组中的特定对象,javascript,arrays,object,Javascript,Arrays,Object,我正在制作一个应用程序,用户可以在其中创建一个团队并向其中添加球员,以跟踪团队统计数据 在我的代码中,我有一个团队数组、一个创建团队的函数和一个创建玩家的函数 我希望createNewPlayer()接受一个团队变量,因此它会将该玩家添加到wright团队中 现在,函数返回“团队不存在”,而我在运行函数之前创建了一个具有该确切名称的团队 你知道怎么解决这个问题吗 const Teams = [] // Team Class class Team { constructor(name,
createNewPlayer()
接受一个团队变量,因此它会将该玩家添加到wright团队中
现在,函数返回“团队不存在”,而我在运行函数之前创建了一个具有该确切名称的团队
你知道怎么解决这个问题吗
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!")
}
}
}
const团队=[]
//团体课
班队{
构造函数(名称、玩家){
this.name=名称;
这个.players=[];
}
}
//球员级别
类播放器{
建造师(姓名、姓氏、团队、进球、助攻、黄牌、红牌、明牌){
this.name=名称;
this.lastName=lastName;
这个团队=团队;
这个目标=0;
这个.assist=0;
这张黄色卡片=0;
这个.redCard=0;
此值为0;
}
}
//创建新团队
const createNewTeam=(名称)=>{
如果(名称类型==“字符串”){
让newTeam=新团队(名称);
团队推进(新团队);
}否则{
log(“出了点问题。”);
}
}
//创建新玩家
const createNewPlayer=(姓名、姓氏、团队)=>{
让newPlayer=新玩家(姓名、姓氏、团队);
对于(i=0;i
我想你必须检查团队[I].name==team.name
。我想试试这样的方法:
const createNewPlayer = (name, lastName, teamName) => {
let newPlayer = new Player(name, lastName, teamName);
let team = Teams.find((Team) => Team.name === teamName)
if(team !== undefined) {
team.players.push
} else {
console.log("Team does not exist!")
}
return newPlayer
}
循环所有团队,在团队名称不匹配的每个迭代中,记录错误。 您应该尝试以下方法:
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!")
}
让teamFound=false;
对于(i=0;i