Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/03/2013, 11:58
elpropiopato23
 
Fecha de Ingreso: octubre-2011
Ubicación: Niquitao
Mensajes: 28
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Re indexar un array en JavaScript

Hola walterdevel (Colaborador) y emprear (colaborador)
Disculpenme por no haber respondido antes,
mil gracias por su valiosa ayuda en la solución que ambos me dierón,
me ayudarón mucho y por eso decidi emplear la ayuda de ambos

Primero que todo recordemos que no puedo especificar el nombre de la clave de cada elemento del array,
por eso había pensado en indexar el arreglo por eso especifico nuevamente que no puedo hacer esto

Código Javascript:
Ver original
  1. // no me sirve especificar el nombre de la propiedad en caso de ser un objeto
  2. alert(arreglo[0].nombre)
  3. alert(arreglo[0].apellido)
  4. alert(arreglo[0].direccion)
  5.  
  6. // tampoco no me sirve especificar el nombre de la clave del elemento  al imprimir el array
  7. alert(arreglo[nombre])
  8. alert(arreglo[apellido])
  9. alert(arreglo[direccion])

Viendo la Solución que Ambos me plantearón decidí hacer lo siguiente


Código Javascript:
Ver original
  1. var arreglo = {'nombre':'juana', 'apellido':'galvis', 'direccion':'Carrera 12'};
  2. //Función que al recibir un array nos retorna un objeto el cual lleva en sus propiedades la clave y el valor
  3. returnKeyAndValue = function (data) {
  4.                 newarray='';
  5.                 campos=new Object();
  6.                 for (var value in data){
  7.                     newarray += " { "+ "'key' : '" + value +"' , 'value' : '"+data[value]+"'},";
  8.                 }
  9.                 campos ="["+newarray.slice(0, -1)+"]";
  10.                 return eval(campos);
  11.             };
  12.            
  13.         // llamo la función y la guardo en una variable
  14.         campos = returnKeyAndValue(arreglo);
  15.        
  16.         //Imprime la Clave
  17.         alert(campos[1].key); // apellido
  18.        
  19.         //Imprime el valor de la Clave     
  20.         alert(campos[1].value); //galvis

No se si ya existe esta función o hay un metodo menos complicado o extenso, pero no cerrare este tema pues ustedes dos o otra persona me pueda dar otra solución o sugerencia, yo la agradecere con mucho gusto