Вы применяете новую высоту ко ВСЕМ элементам .single
в каждой итерации. На последней итерации они имеют одинаковую высоту.
Вы можете сделать это так:
$('<div class="single">')
.css('height', valuesG[i])
.appendTo($('#second'));
Кроме того, ваш код не очень эффективен, посмотрите на это:
var valuesG = [], //array literal
$elements = $(); //empty jQuery object
for (var i = 0; i < 100; i++) { //we don't have to query array length each iteration
valuesG[i] = Math.floor(Math.random()*101);
//collect the elements into a jQuery object
$elements = $elements.add($('<div class="single">').css('height', valuesG[i]));
}
$elements.appendTo($("#second")); //insert to DOM once - much quicker
jsFiddle Demo