WordClouds word weight calculatror

by Arjan Haverkamp

HTML

<div id="out">
</div>

JavaScript

var list = [
{weight:200, word:'Lorem'},
{weight:180, word:'Ipsum'},
{weight:150, word:'Dito'},
{weight:140, word:'Samet'},
{weight:100, word:'Arjan'},
{weight:99, word:'Claudia'},
{weight:95, word:'Kees'},
{weight:80, word:'Anne'},
{weight:80, word:'Anne 2'},
{weight:80, word:'Anne 3'},
{weight:67, word:'Frank'},
{weight:60, word:'Boomer'},
{weight:55, word:'Karel'},
{weight:50, word:'Jamie'},
{weight:43, word:'Klaas'},
{weight:35, word:'Marit'},
{weight:20, word:'Joop'},
{weight:10, word:'Marie'}
];

/*
var list = [
{weight:100,word:'Arjan'},
{weight:75,word:'Annemarie'},
{weight:50,word:'Claudia'},
{weight:25,word:'Noa'}
];
*/

list.sort(function(a,b) {
   if (a.weight == b.weight) {
      var la = a.word.length, lb = b.word.length;
      return la > lb ? -1 : la < lb ? 1 : 0;
   }
   return b.weight - a.weight;
});

var minWeight = list[list.length-1].weight;
var maxWeight = list[0].weight;
var rangeWeight = maxWeight - minWeight;
var stepSize = rangeWeight/100;

var maxDropPerc = 5; // Variable percentage
var maxDropVal = maxDropPerc * stepSize; 

var newList = [list[0]];
for (var x = 1; x < list.length; x++) {
  var item = Object.assign({}, list[x]); // Clone
  item.weight = newList[x-1].weight - (Math.min(maxDropVal, list[x-1].weight - list[x].weight));
  newList[x] = item;
}
list = newList;
console.log(list);
//alert('wait');

////////////////////////////////////////////////////////////

var minWeight = list[list.length-1].weight;
var maxWeight = list[0].weight;
var rangeWeight = maxWeight - minWeight;
var stepSize = rangeWeight/100;

for (var x = 0; x < list.length; x++) {
   list[x].weight = (list[x].weight - minWeight) / stepSize;
}
console.log(list);

////////////////////////////////////////////////////////////

var $out = $('#out');

var maxFontSize = 63, factor = maxFontSize/100;
for (var x = 0; x < list.length; x++) {
   var fontSize = 1 + (list[x].weight * factor);
	 list[x].fontSize = fontSize;
   $out.append('<div style="font-size:' + fontSize +...