Cita:  
					Iniciado por zerokilled 
  buenas...
 
@cronos, que tal! estaba observando el codigo y entiendo la idea que tienes: restaurar el array por el original cuando se vacia. lo cierto es que no ocurre asi puesto que los tipos de datos complejos se pasan como referencia y no copia. es decir, 
arr es una referencia de 
fdw. para hacer una copia de un array puedes utilizar cualquier funcion que devuelva un nuevo array, el mas apropiado 
concat.
Código:
 var a = [true, 'string', 0], b = a.concat(); // crear array y copiar ;
a.shift(); // eliminar un elemento de un array ;
alert("a: "+ a +"\nb: "+ b);
  
     Hola ZK! 

No sabía eso! O.O ¿Qué sugieres entonces? Tengo esto pero no funciona:   
Código Javascript
:
Ver originalvar fdw = ['uno', 'dos', 'tres', 'cuatro', 'cinco', 'seis', 'siete'], arr = fdw;
function noRepetir(list){
 arr = arr.length ? arr : list.concat();
 var num = Math.floor(Math.random()*arr.length), str = arr[num];
 arr.splice(num, 1);
 return str;
}
for(i=0; i<14; i++){
 var txt = (noRepetir(fdw));
 document.write(txt+'<br />');
}
  
Saludos (: