Comunidad de diseño web y desarrollo en internet online

Error mostrando array multidimendional

Citar            
MensajeEscrito el 28 Mar 2012 08:15 pm
Hola, leyendo algunos post del sitio, intente crear un array multidimensional para luego desordenarlo

Código ActionScript :

//creamos el array
   var resp:Array = new Array([resp1,1],[resp2,2],[resp3,3],[resp4,4])
   
   //desordenamos el Array
   for (var i:int=0;i<resp.length;i++)
   {
         var j:int=Math.floor(Math.random()*resp.length);
         var tmp:String = resp[j];
      var tempId:int = resp[j][1];
      trace(tempId);
         resp[j] = resp[i];
      //resp[j][1] = resp[i][1];
         resp[i] = tmp;
      //resp[i][1] = tempId;
   }

Hasta la creación del array puedo hacer un trace y me muestra el contenido y esta bien, al desordenarlo y tratar de ver como quedo me muestra este error

Código :

ReferenceError: Error #1069: No se encontró la propiedad 1 en String y no hay ningún valor predeterminado.


alguien tiene idea de que estoy haciendo mal?, muchas gracias.

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

chrome
Citar            
MensajeEscrito el 29 Mar 2012 08:42 pm
Los primeros valores de los arrays no son strings sino variables (undefined), debería ser

var resp:Array = new Array(["resp1",1], etc ...

Las comillas indican String

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Mar 2012 08:51 pm
gracias jorge, pero si son variables, estas variables obtienen el valor desde una base de datos en linea, de hecho el ciclo que desordena el arreglo funciona perfectamente únicamente con esas variables, el error aparece cuando pongo el numero, si comento todas las sentencias que hacen referencia al numero funciona, si comento todas las sentencias que hacen referencia a la variable igual funciona, osea muestra los números de manera aleatoria, pero cuando están juntos se genera el error, para ser mas especifico, ese trace que esta ahí en el ciclo, me muestra como va dejando el aleatorio esos datos, y en el panel de error muestra tres números, al 4 es que sale el error, me explico, son 4 items del arreglo, el código genera los tres primeros de manera correcta, al 4 sale el error.

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

chrome
Citar            
MensajeEscrito el 29 Mar 2012 10:36 pm
Estas conmutando los valores del array, deberías armar uno nuevo para evitar errores de refencia

Código ActionScript :

var resp:Array = new Array([5,1],[6,2],[7,3],[8,4])
var shuffle:Array = [] ;
   //desordenamos el Array
   while(resp.length>0)
   { 
       shuffle.push(resp.splice(Math.random()*resp.length,1))
   }
   trace(shuffle)


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.