Foros del Web » Programando para Internet » Javascript »

Array "Asociativo"

Estas en el tema de Array "Asociativo" en el foro de Javascript en Foros del Web. Buenas, Teniendo en cuenta de que en Javascript no existen los arrays asociativos, pero si hay "trucos" para simular algo parecido me encuentro con el ...
  #1 (permalink)  
Antiguo 26/06/2012, 06:22
 
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años
Puntos: 0
Pregunta Array "Asociativo"

Buenas,

Teniendo en cuenta de que en Javascript no existen los arrays asociativos, pero si hay "trucos" para simular algo parecido me encuentro con el siguiente problema:

Código:
titulos = new Array();
titulos['rss'] = "Lector RSS";
titulos['email'] = "Gestor de email";
titulos['agenda'] = "Agenda";
"Simulo" el array asociativo de esa forma, de forma que necesito acceder al valor de cada key, es decir, si escribo rss necesito que en el html aparezca "Lector RSS".

No es difícil teniendo en cuenta que alert(titulos['rss']) me devuelve "Lector RSS"

El problema viene cuando paso por variable la "key", es decir:

var key = "rss"

No tengo ni la más remota idea de como acceder al valor de la key seleccionada, he probado infinitas combinaciones como concatenar por partes y demás, el problema que me encuentro es que la forma de tratar los datos de Javascript es diferente a PHP y yo donde me desenvuelvo bien es en PHP, pero de Javascript pez.

P.D. Seguramente sea algo muy básico lo que haya que hacer para que funcione, pero llevo varias horas intentando varias soluciones y no consigo dar con ello.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 26/06/2012, 07:17
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Array "Asociativo"

hay un truco mucho mejor. usar un objeto
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 26/06/2012, 09:38
 
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años
Puntos: 0
Respuesta: Array "Asociativo"

He probado con objetos y soy incapaz de acceder al valor de la key correspondiente.

¿Sugerencias?
  #4 (permalink)  
Antiguo 26/06/2012, 09:49
 
Fecha de Ingreso: abril-2009
Mensajes: 19
Antigüedad: 15 años
Puntos: 0
Respuesta: Array "Asociativo"

Lo he conseguido usando un array.

Lo dejo aquí por si alguien lo necesita:

Código:
var as_arr=new Array(); 

as_arr["key1"] = "value1"; 
as_arr["key2"] = "value2"; 

var a = "key1";
var b = "key2";

alert(a + " = " + as_arr[a] + "\n " + b + " = " + as_arr[b]);
  #5 (permalink)  
Antiguo 26/06/2012, 10:04
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Array "Asociativo"

Hola:

Con un bucle fot-in, se recorren las claves de los objetos...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 26/06/2012, 13:25
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Array "Asociativo"

y si no quieres recorrer todo el objeto para obtener el valor de un elemento
Cita:
var titulos = {"rss" : "Lector RSS", "email" : "Gestor de email", "agenda" : "Agenda"}
console.log(titulos["rss"]);
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: funcion, html, php
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 23:39.