Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/02/2011, 07:36
Avatar de _cronos2
_cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: No repetir, Array mostrado al Azar

Cita:
Iniciado por zerokilled Ver Mensaje
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 original
  1. var fdw = ['uno', 'dos', 'tres', 'cuatro', 'cinco', 'seis', 'siete'], arr = fdw;
  2. function noRepetir(list){
  3.  arr = arr.length ? arr : list.concat();
  4.  var num = Math.floor(Math.random()*arr.length), str = arr[num];
  5.  arr.splice(num, 1);
  6.  return str;
  7. }
  8. for(i=0; i<14; i++){
  9.  var txt = (noRepetir(fdw));
  10.  document.write(txt+'<br />');
  11. }
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red