raga mi serve una mano.
funziona, quasi!
a volte mi da la stringa giusta di 101 caratteri, ma a volte me ne stampa molti meno, nonostante tramite alert yl.length mi restituisca sempre 101. dove sbaglio?

codice:
$("#boto").click(function(){
	


var let = new Array ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ','1','2','3','4','5','6','7','8','9','0','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','!','"','£','$','%','&','/','(',')','=','?','^','ì','è','é','*','[',']','{','}','@','à','°','#','§','ù','-','_','.',',',';',':','<','>','€','+','|');	
let.push("'");


var yl = new Array ();


yl.splice(0);


for (fff=100; let.length > 0; fff--){ 

//numero casuale
var ly = Math.floor((Math.random() * fff) );	


if (let[ly] == 'undefined'){fff++;continue;}
//inserisco in nuovo array


yl.unshift(let[ly]);
//elimina da array


let.splice(ly,1);




 
 };




$('#code1').html('<p class="codice">'+yl.join('')+'</p>');
});