JavaScript代码挑战2

// 编程挑战 #2
/* 让我们继续开发我们的足球投注应用程序!

  1. 遍历game.scored数组,并将每个球员的姓名与进球数量一起打印到控制台上(例如:“Goal 1: Lewandowski”)。
  2. 使用循环计算平均赔率并将其记录到控制台中(我们已经学习了如何计算平均数,如果您不记得可以去看一下)。
  3. 将3个赔率以漂亮的格式打印到控制台上,就像这样: 获胜赔率拜仁慕尼黑:1.33 平局赔率:3.25 获胜赔率多特蒙德:6.5 直接从游戏对象中获取团队名称,不要硬编码它们(除了“draw”)。提示:注意赔率和游戏对象具有相同的属性名称😉
    奖励:创建一个名为“scorers”的对象,其中包含作为属性得分的球员姓名,以及值作为值。在这场比赛中,它将看起来像这样: { Gnarby: 1, Hummels: 1, Lewandowski: 2 }
    祝你好运😀 */

原代码

const game = {
  team1: 'Bayern Munich',
  team2: 'Borrussia Dortmund',
  players: [
    [
      'Neuer',
      'Pavard',
      'Martinez',
      'Alaba',
      'Davies',
      'Kimmich',
      'Goretzka',
      'Coman',
      'Muller',
      'Gnarby',
      'Lewandowski',
    ],
    [
      'Burki',
      'Schulz',
      'Hummels',
      'Akanji',
      'Hakimi',
      'Weigl',
      'Witsel',
      'Hazard',
      'Brandt',
      'Sancho',
      'Gotze',
    ],
  ],
  score: '4:0',
  scored: ['Lewandowski', 'Gnarby', 'Lewandowski', 'Hummels'],
  date: 'Nov 9th, 2037',
  odds: {
    team1: 1.33,
    x: 3.25,
    team2: 6.5,
  },
};

参考答案:

1

for (const [i, player] of game.scored.entries())
console.log(`Goal ${i + 1}: ${player}`);

2

let average = 0;
const odds = Object.values(game.odds);
for (const odd of odds) average += odd;
  average /= odds.length;
  console.log(average);

3

for (const [team, odd] of Object.entries(game.odds)) {
  const teamStr = team === 'x' ? 'draw' : `victory ${game[team]}`;
  console.log(`Odd of ${teamStr} ${odd}`);
}

奖励

const scorers = {};

// 遍历数组game.scored,并统计每个球员的得分
for (let i = 0; i < game.scored.length; i++) {
  const player = game.scored[i];
  if (scorers[player]) {
    scorers[player] += 1; // 如果球员已经存在于scorers对象中,增加得分
  } else {
    scorers[player] = 1; // 否则,在scorers对象中添加新球员,并设置得分为1
  }
}

console.log(scorers);
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值