Foros del Web » Programando para Internet » Javascript »

Numero aleatorio que no se repita

Estas en el tema de Numero aleatorio que no se repita en el foro de Javascript en Foros del Web. Tengo un array, y 5 variables y necesito que almacenen cada variable un valor del array que no se repita,aver si me explico tengo: Código: ...
  #1 (permalink)  
Antiguo 22/05/2010, 12:31
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 1 mes
Puntos: 0
Numero aleatorio que no se repita

Tengo un array, y 5 variables y necesito que almacenen cada variable un valor del array que no se repita,aver si me explico tengo:
Código:
<script type="text/javascript">
var array = ['imagen1','imagen2','imagen3','imagen4','imagen5']
var v1 
var v2
var v3
var v4
var v5
</script>
cada vez que se ejecute ese script quiero que cada variable coja un valor del array distinto de las otras.
  #2 (permalink)  
Antiguo 22/05/2010, 12:37
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Numero aleatorio que no se repita

lo que se me ocurre es que le hagas un shuffle al array y luego asignas cada elemento a las variables.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 22/05/2010, 12:40
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Numero aleatorio que no se repita

puedes ponerme un ejemplo?como se hace el shuffle ese??

Última edición por M1gu3l; 22/05/2010 a las 12:55
  #4 (permalink)  
Antiguo 22/05/2010, 13:46
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Numero aleatorio que no se repita

te voy a mostrar las funciones por la unica razon que ya tengo una pequeña libreria que contiene las funciones para lo que requieres.
Código:
// extract values into variables set as global;
// use: walk;
Array.prototype.list= function(){
this.walk(function(value, i, args){
if(i < args.length) self[args[i]] = value;
}, arguments);
}

// traverse each element of array and apply a function;
Array.prototype.walk= function(callback, args){
	try{
	for(var i = 0; i < this.length; i++) callback.call(this, this[i], i, args);
	return true;
	} catch(e){
	return false;
	}
}

// shuffle the order of elements;
// Stephen Chapman (alias felgall in webdeveloper.com)
Array.prototype.shuffle= function(){
this.sort(function(){return Math.round(Math.random()) - .5;});
return this;
}
las tres funciones son parte del prototipo del array, pero las que mas te deben interesar son shuffle y list. creas el array, luego invocas el metodo shuffle y luego list. en list, le pasas como argumento una serie de string el cual corresponde a los nombres de variables.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 23/05/2010, 02:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 44
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Numero aleatorio que no se repita

estoy aprendiendo javascript y no se hacer lo que me dices, ponme un ejemplo claro por favor

Etiquetas: numero, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.