Tengo este código de derecho aquí.. donde la variable num es la dimensión de n por n plaza de la tabla. El objetivo es introducir un número y crear una tabla con el número de la dimensión.

Tengo este código pero no se puede ir a través de las 2 capas de bucles. Después de la ejecución del código, la cadena *change_text* sólo se convierte en: <table></table>

    change_text = "<table>";

    for (var i; i<num; i++) {
        change_text = change_text + "<tr>";
        for (var j; j<num; j++) {
            change_text = change_text + "<td> asdf </td>";

            //code for blue cells
        }
        change_text = change_text + "</tr>";
    }


    change_text = change_text+ "</table>"
  • Para referencia, puede simplemente hacer change_text += "new text"; en lugar de change_text = change_text + "new text";

7 Comentarios

  1. 1

    Es necesario especificar el valor de inicio para tus bucles:

    change_text = "<table>";
    
        for (var i = 0; i<num; i++) {
            change_text = change_text + "<tr>";
            for (var j = 0; j<num; j++) {
                change_text = change_text + "<td> asdf </td>";
    
                //code for blue cells
            }
            change_text = change_text + "</tr>";
        }
    
    
        change_text = change_text+ "</table>"

    En la actualidad supongo i y j son undefined y así los lazos de no ir a ninguna parte.

  2. 1

    necesita inicializar i y j…
    intente esto:

    change_text = "<table>";
    
    for (var i=0; i<num; i++) {
        change_text = change_text + "<tr>";
        for (var j=0; j<num; j++) {
            change_text = change_text + "<td> asdf </td>";
    
            //code for blue cells
        }
        change_text = change_text + "</tr>";
    }
    
    
    change_text = change_text+ "</table>"
  3. 0

    Usted se olvidó de los i=0/j=0 de inicialización. Sólo declarado las variables, y undefined siempre los rendimientos false de comparaciones numéricas que se rompe el bucle de inmediato. Para cambiar el código para

    change_text = "<table>";
    
    for (var i=0; i<num; i++) {
        change_text = change_text + "<tr>";
        for (var j=0; j<num; j++) {
            change_text = change_text + "<td> asdf </td>";
    
            //code for blue cells
        }
        change_text = change_text + "</tr>";
    }
    
    
    change_text = change_text+ "</table>"
  4. 0

    Ohhh también me di cuenta de que num no está definido específicamente. Dondequiera que usted está recibiendo num de asegurarse de usar parseInt si podría haber posiblemente ha pasado como una cadena.num = parseInt(num);

Dejar respuesta

Please enter your comment!
Please enter your name here