我有一组供5个人使用的数据。数据去:
“ #ofKeys”,“ PreferedCrate”,“ Round1Results”,“ Round2Results”,“ Round2Results”

我想要的是数据以某种2D数组的形式出现,以便涵盖有关所有5个播放器的所有信息。

然后,我希望数据记录每个玩家的3个回合的平均值,以及每个玩家获得的最佳和最差结果。

我不太确定如何处理此问题,因此将不胜感激。

到目前为止,我真正所做的只是制作了一些项目,如下所示:

var playerdata = [[2, Assault, 1,1,10],
                  [0, Support, 3,2,11],
                  [1, Assault, 7,12,1],
                  [0, Assault, 5,9,14],
                  [0, Assault, 11,17,18]];

最佳答案

您可以映射您的playerdata数组,并计算每个玩家的平均/最佳/最差:



var playerdata = [[2, 'Assault', 1,1,10],
                  [0, 'Support', 3,2,11],
                  [1, 'Assault', 7,12,1],
                  [0, 'Assault', 5,9,14],
                  [0, 'Assault', 11,17,18]];

var calculated = playerdata.map((player) => {
  const rounds = player.slice(2);

  return {
    player,
    average: average(rounds),
    best: Math.max(...rounds),
    worst: Math.min(...rounds)
  };
});

function average(numbers) {
  return numbers.reduce((a, b) => a + b, 0) / numbers.length;
}

console.log(calculated);

console.log('Player 1 average', calculated[0].average);

10-06 11:08