我有一组供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);