JSFiddle - React, Tailwind, and code Playground
by Jake Cattrall
JavaScript
var log = function(msg){
document.body.innerHTML += msg + "</br>";
}
var data = [
{
name: "EA",
ratings: [
{
average: 45,
count: 500
},
{
average: 89,
count: 600
},
{
average: 60,
count: 245
},
{
average: 68,
count: 600
},
{
average: 79,
count: 400
},
{
average: 10,
count: 1500
}
]
},
{
name: "Mojang",
ratings: [
{
average: 98,
count: 600
}
]
},
{
name: "Blizzard",
ratings: [
{
average: 99,
count: 200
},
{
average: 80,
count: 100
},
{
average: 70,
count: 1000
}
]
}
];
var top_vote_count = 0; // Highest number of ratings
for(var i = 0; i < data.length; i++){
var company = data[i];
// Calculate the highest vote_count.
for(var j = 0; j < company.ratings.length; j++){
var game = company.ratings[j];
if(game.count > top_vote_count){ top_vote_count = game.count; }
}
var strengths = [];
for(var j = 0; j < company.ratings.length; j++){
var game = company.ratings[j];
strengths.push((100 * (game.count / top_vote_count)));
}
var average_strength = strengths.reduce(function(a, b) { return a + b; }, 0);
average_strength = average_strength / strengths.length;
log(company.name + ": " + average_strength);
}