Horario de Clases, inicializar arreglo con un ciclo


#1

Buenas noches, estoy realizando una actividad con JavaScript para llevar un control organizado del los salones de clases donde estudio les contare un poco como funcionara.
Costa de una matriz 3x5 para este caso

A,B,C,D,E,F, ETC… representan los días,
Las Celdas representan bloques de 1 hora.

Al obtener la posición de x determinada celda en la tabla, puedo manejar esa data para poder llevar el control de los horarios de mi escuela,
Ejemplo
Celda[1][1]
Celda[2][1] = Ingles 3 horas los lunes de 7:00am a 10:00am
Celda[3][1]

cuando clickeo la celda, esta se pone de un color y me devuelve su posición actual
seleccionas con celdas x cantidad de horas x dias a x hora. y listo la asocias con la materia.

  1. Ya logre como obtener 1 valor al hacer click en una celda pero necesito que sea multi selección, no logro como hacerlo.
    pense en hacer 2 arreglos, uno para la posición de la Filas y otro para las Columnas
    y los voy agregando con el metodo push
    Cada vez que haga click en una celda la función me devolvera 2 valores posicion de la fila y la columna
    los almaceno en 2 arreglos
    x[i]
    y[i]
    Cuando vuelva a clickear una de las celdas ya seleccionadas, eliminare el registro con pop()
    para saber si el salón esta vació pensé en crear otro arreglo 3x5 con el valor “0” en todas sus posiciones
    0 =Celda seleccionado
    1 = celda seleccionada
    y listo a hacer comparaciones con ciclos jejejeje nose si se pueda hacer mas facil

  2. estoy tratando de iniciar 2 ciclos para llevar el arreglo pero me lanza error no entiendo porque.
    var click =[];

for (var index = 0; index <= 2; index++) {

for (var index2 = 1; index2 <= 4; index2++) {
	
	seleccionCheck[index][index2] = 0;
}

}


<html>
<head>
    <title>Tabla</title>
    <link rel="stylesheet" href="style.css">
    <!-- <script type="text/javascript" src="Script.jseS"></script> -->
	<meta charset="windows-1252">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>

<body>

<table id="table" border="1">
<tr>
	<th>A</th>
	<th>B</th>
	<th>C</th>
</tr>

<tr>
	<td>FN1</td>
	<td>LN1</td>
	<td>10</td>
</tr>

<tr>
	<td>FN2</td>
	<td>LN2</td>
	<td>20</td>
</tr>

<tr>
	<td>FN3</td>
	<td>LN3</td>
	<!-- <td class="selected">LN3</td> -->
	<td>30</td>
</tr>

<tr>
	<td>FN4</td>
	<td>LN4</td>
	<td>40</td>
</tr>

<tr>
	<td>FN5</td>
	<td>LN5</td>
	<td>50</td>
</tr>
</table>
Fiaaaala<p id="demo"></p>

Columna<p id="demo2"></p>

 
<script>

var table = document.getElementById("table");
var x;
var y;
var contador = 0;


	
var click =[];

for (var index = 0; index <= 2; index++) {
	
for (var index2 = 1; index2 <= 4; index2++) {
		
		click[index][index2] = 0;
	}
}

var celdaSelecionadaX = [];
var celdaSelecionadaY = [];
	// Table rows
	for(var i = 0; i < table.rows.length; i++)
	{
		// row cells
		for(var j = 0; j < table.rows[i].cells.length; j++)
		{
			table.rows[i].cells[j].onclick = function()
			{
                
				x = this.parentElement.rowIndex;
                y = this.cellIndex+1;
                document.getElementById("demo").innerHTML = x;
                document.getElementById("demo2").innerHTML = y;
                contador++;
                console.log("Contador = " + contador)
				
                console.log("Row : "+x+" , Cell : "+x);

			};
		}
    }


    // function add(){
    
    //     celdaSelecionadaX.push(x);
    //     celdaSelecionadaY.push(y);

	// 	if (click[x][y] == 0) {

	// 		click[x][y].pop();
	// 		click[x][y].push(1)
	// 	}
	// 	else
	// 	{

	// 		if (click[x][y] == 1) {

	// 			click[x][y].pop();
	// 			click[x][y].push(0)
	// 		}
	// 	}


	// 	for (var e = 0; e < celdaSelecionadaX.length; e++) {
	// 		console.log("x:" + celdaSelecionadaX[e] + " y:" + celdaSelecionadaY[e])
	// 	}             
	// }

	// function eliminarSeleccion(){

	// 	for(var q = 1; q <= celdaSelecionadaX.length; q++){
    
	// 		for(var w = 1; w <= celdaSelecionadaY.length; w++){

				
	// 			if( (x == celdaSelecionadaX[q]) &&  (y == celdaSelecionadaY[w])){
	// 				celdaSelecionadaX[q].pop();
	// 				celdaSelecionadaY[w].pop();
	// 			} 
	// 		}   
   	// 	} 
	// }







// window.onload = function(){
// 	var td = document.querySelectorAll("table tr td");
// 	for (var i = 0; i < td.length; i++) {
// 		td[i].onclick = function(){
// 		this.className ='selected';
// 		td[i].className ='selected';
// 		}	
// 	}
// }
 </script> 

</body>
</html>