0
<html>
<head>
<title>Array of Arrays</title>
<script type="text/javascript">
function matrix()
{
var e=prompt("Cols?",0);
var f=prompt("Rows?",0);
var matrix = new Array();
for (var i=0;i<e;i++) 
    {
    matrix[i] = new Array();
    for (var j=0;j<f;j++) 
        {
        matrix[i][j]=Math.floor((Math.random()*1000)+1);
        }
    }
for (var i=0; i<=e-1; i++)
    {
    document.getElementById("keret").innerHTML= 
    document.getElementById("keret").innerHTML+"<tr>";
    for (var j=0; j<=f-1; j++)
        {
        document.getElementById("keret").innerHTML= 
        document.getElementById("keret").innerHTML+"<td>"+matrix[i][j]+"</td>";
        }
    document.getElementById("keret").innerHTML= 
    document.getElementById("keret").innerHTML+"</tr>";

    }
document.getElementById("keret").innerHTML= 
document.getElementById("keret").innerHTML+"</table>";
}
</script>
</head>
<body onload="matrix()">
<table border="1" id="keret">
</body>
</html>

このスクリプトは、配列のユーザー定義配列を作成し、乱数で埋めます。私の問題は、値を個別のセルに入れるスクリプトを作成できないことです。

4

2 に答える 2

1

2 番目のループは次のようになります。

for (var i = 0; i < e; i++) {
    var row = document.createElement("tr"); 
    for (var j = 0; j < f; j++) {
        var cell = document.createElement("td");
        cell.innerHTML = matrix[i][j];
        row.appendChild(cell);
    }
    document.getElementById("keret").appendChild(row);
}

これにより、行ごとにtr要素が追加tdされ、行内の列ごとに要素が追加されます。次に、行をテーブルに追加します。HTML もわずかに変更されます。

<table border="1" id="keret"></table>

(行と列のプロンプトを切り替える必要がありますが、変数名を台無しにしたくありませんでした)。

フィドル: http://jsfiddle.net/verashn/7Rwnc/

于 2013-11-12T00:19:49.910 に答える