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);
}