javascript - 为什么数组显示为 1D 而不是 2D 但表格有效?

标签 javascript arrays

<html>
<head>
<meta charset="utf-8"/>

</head>

<form name="formular">
<label>Zeilen eingeben:     
        <input id="inpZeile" name="inpZeile" type=number value="2">
</label>
<label>Spalten eingeben:
        <input id="inpSpalte" name="inpSpalte" type=number value="2">
</label>
</form>
<button type="button" onclick="machTabelle(document.forms.formular.elements.inpSpalte.value, document.forms.formular.elements.inpZeile.value)" id="MachTabelle">Tabelle erstellen</button>
</html>



<script src="testen.js"></script>

var table ='';
function machTabelle(x,y)
{
    var myArr = new Array(x);
    for (var i = 0; i < myArr.length; i++)
    {
        myArr[i] = new Array(y);
        
    };
    console.log (myArr);

        for(var i=0; i<x; i++)
        {
        table += '<tr>';
            for(var j =0;j<y;j++)
            {
                table += '<td>' +j+ '</td>';
            }
        table += '<tr>';
        }   
document.write('<table border=1>' +table+ '</table>');
}

我改变了一些东西,但它总是返回一个 1D 数组而不是 2D ,仅在片段工作时使用相同的数组代码。

目标是制作数组和表格,获取用户输入的大小,当然随后制作一个包含数组内容的表格。

最佳答案

当您首先循环输入x,然后循环输入y时,该表就会工作

请注意,函数中没有变量table。例如,您可以添加 var table = ""; 并且在生成表时不使用 myArr


当您创建数组Array(y)时,输入中的y是一个字符串。 (注意函数参数和输入字段的顺序。)

参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Array

例如machTabelle('3', '2')请参阅内联注释:

// Array with index 0 has the value of the input "2" as you are passing a string
var myArr = new Array(y); 

// loop 1 time, as there is 1 item
for (var i = 0; i < myArr.length; i++) { 
    
    // set index 0 of the array to a new array with the y input of "2"
    myArr[i] = new Array(y);
}

当您将数组包装在数组中时,myArr 是一个二维数组而不是一维数组:

myArr = [
  [
    "2"
  ]
]

关于javascript - 为什么数组显示为 1D 而不是 2D 但表格有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62695353/

相关文章:

javascript - 使用 jQuery 获取单选按钮 ID

javascript - jquery 在点击提交时获取答案(从数据库获取数据)

Javascript:如何从页面获取图像字节(无需重新下载)

c# - 计算字符串数组中元素的数量 C#

python - 当重复次数少于 n 次时从 numpy 数组中删除行

javascript - AngularJS - 自定义指令 - CSS 单独文件?

javascript - 使用 VS2008 测试 ASP.NET MVC 应用程序时,JS 文件未更新

javascript - 使用循环用月份填充数组

ios - 创建值递增 Swift 的 nXn 矩阵

java - 将对象数组转换为字符串数组