Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2010, 12:22
piretrus
 
Fecha de Ingreso: marzo-2006
Mensajes: 75
Antigüedad: 18 años, 1 mes
Puntos: 1
Pregunta problema con array bidimensional

hola a tod@s, tengo el siguiente código:


Código:
var uni_1_temas = new Array(
	["Sintaxis Básica","Prog001"], 
	["Interacción con los datos en Javascript","Prog002"],
	["Uso práctico de alert() y prompt()","Prog003"]
	["Declaraciones, variables Explicitas e Implicitas","Prog004"], 
	["Tipos de variables","Prog005"],
	["Sumar string escritos por el usuario","Prog007"],	
	["Suma de números en javascript","Prog010"]
	);

var uni_2_temas = new Array(
	["Estructura If-Else","Prog013"], 
	["If-Else, comparaciones","Prog014"],
	["Bucle For, estructura","Prog015"]
	["Bucle While, estructura","Prog016"], 
	["Comparación","Prog016b"],
	["document.write()","Prog017"],	
	["document.write(), para HTML","Prog018"],
	["document.write(), y HTML","Prog019"], 
	["Retorno de valores con funciones","Prog020"],
	["Ejemplos de funciones","Prog021"],	
	["Hallar números pares","Prog022"],
	["Arrays","Prog023"],
	["document.write() para HTML","Prog055"],	
	["document.write()","Prog056"],
	["document.write() para HTML","Prog057"]
	);

var listado_temas = new Array(uni_1_temas, uni_2_temas);

function navegar(id){
	var div = id;
	//averiguamos que seccion hemos pulsado y lo adaptamos para que llame a su array correspondiente 
	var unidad = div.substring(4,5)-1;
	var tema = listado_temas[unidad];
	if(div != seccion){
		//deseleccionamos la sección antigua
		document.getElementById(seccion).className = "";
		//seleccionamos la sección nueva para que se ponga en estado de pulsado
		document.getElementById(div).className = "pulsado";
		//cambiamos la clase de la caja para que tenga el color que le corresponde
		document.getElementById('caja_slide').className = div;
		//determinamos cual es la sección actual
		seccion = div;
			
		//detectamos cuantos temas tiene la seccion puslada
		var num_temas = tema.length;
		//construimos listado con los temas
		var contenido="";
		var contador = 1;
		for(i=0;i<num_temas;i++){
			contenido += "<li><a id='"+tema[i][1]+"' href='javascript:void(0);'><span class='bold'>"+contador+".</span><br /><span class='bold'>"+tema[i][0]+"</span><br /><br />"+tema[i][1]+"</a></li>";
			contador ++;
		}
	}
}
El caso es que tengo un array, que contiene a su vez otro array con dos campos. Dicho array lo llamo desde la función navegar para rellenar un campo ul con sus respectivos li, que sería la estructura que tengo dentro del for.

El problema es que me dice que por ejemplo, dentro del for, tema[i][0] no esta definido, con lo que no me hace el for. Pero si pongo un alert de ejemplo y escribo alert(tema[0][1]) si que me saca el dato del array que quiero, yo lo unico que intento es que el primer indice del array tema lo ponga la i del for, para que así vaya leyendo todo el array.

Alguna sugerencia?