Javascript 用于字母矩阵输出的嵌套for循环

Javascript 用于字母矩阵输出的嵌套for循环,javascript,for-loop,matrix,nested-loops,letter,Javascript,For Loop,Matrix,Nested Loops,Letter,背景:我一直在做嵌套for循环练习。我正在编写的程序旨在获取列和行数据,并使用嵌套for循环创建字母矩阵或网格。我能够在网格中编译数据(很好!),但是有一行不必要的数据卡在网格顶部。(不是很好…)有人能告诉我是什么原因造成的吗,我相信这是非常简单的事情,但我的大脑可能会因为看了这么长时间而兴奋 任何帮助都将不胜感激 "" 函数字母_矩阵(){ let column=parseInt(document.form.letter\u column.value); 让rows=parseInt(do

背景:我一直在做嵌套for循环练习。我正在编写的程序旨在获取列和行数据,并使用嵌套for循环创建字母矩阵或网格。我能够在网格中编译数据(很好!),但是有一行不必要的数据卡在网格顶部。(不是很好…)有人能告诉我是什么原因造成的吗,我相信这是非常简单的事情,但我的大脑可能会因为看了这么长时间而兴奋

任何帮助都将不胜感激


""
函数字母_矩阵(){
let column=parseInt(document.form.letter\u column.value);
让rows=parseInt(document.form.letter\u rows.value);
让文本=”;
let letter letters=“abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvxyz”;
for(设i=0;i
您需要拆分
标记,如下所示。这条线引起了问题

text+=''+字母.charAt(i)+''

你得到的不正常结果仅仅是因为这个。请参见下面的代码,我是如何在
循环之后使用
的,并删除了
字母.charAt(I)
。这是在添加额外的行

         text += "<tr>";
        
           for(let j = 0; j < column ; j++){
            
               let k = (i * rows + j) % 26;
        
               text += "<td>"+letters.charAt(k)+ "</td>";
           }
         text += "</tr>";
text+=”;
for(设j=0;j
参考工作演示

您需要拆分
标签,如下所示。这条线引起了问题

text+=''+字母.charAt(i)+''

你得到的不正常结果仅仅是因为这个。请参见下面的代码,我是如何在
循环之后使用
的,并删除了
字母.charAt(I)
。这是在添加额外的行

         text += "<tr>";
        
           for(let j = 0; j < column ; j++){
            
               let k = (i * rows + j) % 26;
        
               text += "<td>"+letters.charAt(k)+ "</td>";
           }
         text += "</tr>";
text+=”;
for(设j=0;j

请参阅第一个
中的工作演示

,了解如何创建
添加一些文本并关闭

您很可能只需打开一个
tr
,在内部
for
之后,然后关闭
tr

for(设i=0;i
在您的第一个
for
中,您创建了一个
添加一些文本并关闭一个

您很可能只需打开一个
tr
,在内部
for
之后,然后关闭
tr

for(设i=0;i
就是这样。

  • 刚刚在这里添加了
    文本+=+++++字母

  • 这样做了,但它不是强制性的,只是更新

  • let column=document.getElementById(“columns”).value

     <!DOCTYPE html>
        
        <html lang="en">
        
        <head>
            <title>""</title>
        
          
        </head>
        
        <body>
            <h1>""</h1>
        
            <form name="form" action = "javascript:letter_matrix();">
        
                Columns: <input id="columns" type="text" name="letter_column">
                Rows: <input id="rows" type="text" name="letter_rows">
        
                <input type="submit" value="Enter values.">
        
            </form>
        
            <pre id="results">
            </pre>
        </body>
        
          <script>
                function letter_matrix() {
        
                    let column = document.getElementById("columns").value;
                    let rows = document.getElementById("rows").value;
                    let text = "<table><th></th>";
        
                    let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
                    
        
                    for (let i = 0; i < rows ; i++) {
                     
                     text += "<tr>"+ "<td>" + letters.charAt(i) + "</td>";
        
                       for(let j = 0; j < column ; j++){
                       
                    
                           let k = (i * rows + j) % 26;
        
                           text += "<td>"+letters.charAt(k)+ "</td>";
                       }
        
                       
                }
                
                text += "</table>";
         
                document.getElementById("results").innerHTML= text;
            }
            </script>
        
        </html>
        
          [1]: https://i.stack.imgur.com/Ey2gn.png
    
    let rows=document.getElementById(“rows”).value

     <!DOCTYPE html>
        
        <html lang="en">
        
        <head>
            <title>""</title>
        
          
        </head>
        
        <body>
            <h1>""</h1>
        
            <form name="form" action = "javascript:letter_matrix();">
        
                Columns: <input id="columns" type="text" name="letter_column">
                Rows: <input id="rows" type="text" name="letter_rows">
        
                <input type="submit" value="Enter values.">
        
            </form>
        
            <pre id="results">
            </pre>
        </body>
        
          <script>
                function letter_matrix() {
        
                    let column = document.getElementById("columns").value;
                    let rows = document.getElementById("rows").value;
                    let text = "<table><th></th>";
        
                    let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
                    
        
                    for (let i = 0; i < rows ; i++) {
                     
                     text += "<tr>"+ "<td>" + letters.charAt(i) + "</td>";
        
                       for(let j = 0; j < column ; j++){
                       
                    
                           let k = (i * rows + j) % 26;
        
                           text += "<td>"+letters.charAt(k)+ "</td>";
                       }
        
                       
                }
                
                text += "</table>";
         
                document.getElementById("results").innerHTML= text;
            }
            </script>
        
        </html>
        
          [1]: https://i.stack.imgur.com/Ey2gn.png
    
    
    ""
    ""
    柱:
    排:
    函数字母_矩阵(){
    让column=document.getElementById(“columns”).value;
    让rows=document.getElementById(“rows”).value;
    让文本=”;
    let letter letters=“abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvxyz”;
    for(设i=0;i
    就是这样。

  • 刚刚在这里添加了
    文本+=+++++字母

  • 这样做了,但它不是强制性的,只是更新

  • let column=document.getElementById(“columns”).value

     <!DOCTYPE html>
        
        <html lang="en">
        
        <head>
            <title>""</title>
        
          
        </head>
        
        <body>
            <h1>""</h1>
        
            <form name="form" action = "javascript:letter_matrix();">
        
                Columns: <input id="columns" type="text" name="letter_column">
                Rows: <input id="rows" type="text" name="letter_rows">
        
                <input type="submit" value="Enter values.">
        
            </form>
        
            <pre id="results">
            </pre>
        </body>
        
          <script>
                function letter_matrix() {
        
                    let column = document.getElementById("columns").value;
                    let rows = document.getElementById("rows").value;
                    let text = "<table><th></th>";
        
                    let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
                    
        
                    for (let i = 0; i < rows ; i++) {
                     
                     text += "<tr>"+ "<td>" + letters.charAt(i) + "</td>";
        
                       for(let j = 0; j < column ; j++){
                       
                    
                           let k = (i * rows + j) % 26;
        
                           text += "<td>"+letters.charAt(k)+ "</td>";
                       }
        
                       
                }
                
                text += "</table>";
         
                document.getElementById("results").innerHTML= text;
            }
            </script>
        
        </html>
        
          [1]: https://i.stack.imgur.com/Ey2gn.png
    
    let rows=document.getElementById(“rows”).value

     <!DOCTYPE html>
        
        <html lang="en">
        
        <head>
            <title>""</title>
        
          
        </head>
        
        <body>
            <h1>""</h1>
        
            <form name="form" action = "javascript:letter_matrix();">
        
                Columns: <input id="columns" type="text" name="letter_column">
                Rows: <input id="rows" type="text" name="letter_rows">
        
                <input type="submit" value="Enter values.">
        
            </form>
        
            <pre id="results">
            </pre>
        </body>
        
          <script>
                function letter_matrix() {
        
                    let column = document.getElementById("columns").value;
                    let rows = document.getElementById("rows").value;
                    let text = "<table><th></th>";
        
                    let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
                    
        
                    for (let i = 0; i < rows ; i++) {
                     
                     text += "<tr>"+ "<td>" + letters.charAt(i) + "</td>";
        
                       for(let j = 0; j < column ; j++){
                       
                    
                           let k = (i * rows + j) % 26;
        
                           text += "<td>"+letters.charAt(k)+ "</td>";
                       }
        
                       
                }
                
                text += "</table>";
         
                document.getElementById("results").innerHTML= text;
            }
            </script>
        
        </html>
        
          [1]: https://i.stack.imgur.com/Ey2gn.png
    
    
    ""
    ""
    柱:
    排:
    函数字母_矩阵(){
    让column=document.getElementById(“columns”).value;
    让rows=document.getElementById(“rows”).value;
    让文本=”;
    let letter letters=“abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvxyz”;