2

やあみんな私はここに状況があります。ここに二次元を出力するコードがあります。

<script>
    Brady = new Array(3);

    for (i = 0; i < Brady.length; ++i) {
        Brady[i] = new Array(5);
    }

    Brady[0][0] = "Team 1";
    Brady[0][1] = "Carol";
    Brady[0][2] = "Greg";
    Brady[0][3] = "Greg";
    Brady[0][4] = "Greg";

    Brady[1][0] = "Team 2";
    Brady[1][1] = "Alice";
    Brady[1][2] = "Peter";
    Brady[1][3] = "Peter";
    Brady[1][4] = "Peter";

    Brady[2][0] = "Team 3";
    Brady[2][1] = "Mike";
    Brady[2][2] = "Bobby";
    Brady[2][3] = "Bobby";
    Brady[2][4] = "Bobby";




    function print_2d_string_array(array) {
        document.writeln("<table border>");

        var row;

        for (row = 0; row < array.length; ++row) {
            document.writeln(" <tr>");

            var col;

            for (col = 0; col < array[row].length; ++col) {
                document.writeln("  <td>" + array[row][col] + "</td>");
            }

            document.writeln(" </tr>");
        }
        document.writeln("</table>");
    }

    print_2d_string_array(Brady);
</script>

出力は次のとおりです。

Team 1  Carol   Greg    Greg    Greg
Team 2  Alice   Peter   Peter   Peter
Team 3  Mike    Bobby   Bobby   Bobby

しかし、私がやりたいことは

Team 1  Team 2  Team 3
Carol   Alice   Mike
Greg    Peter   Bobby
Greg    Peter   Bobby
Greg    Peter   Bobby

私はそれをするのに1時間費やしましたが、運が悪い..助けてください.

4

2 に答える 2

4

試す:

<script>
Brady = new Array(3);

for (i = 0; i < Brady.length; ++i) {
    Brady[i] = new Array(5);
}

Brady[0][0] = "Team 1";
Brady[0][1] = "Carol";
Brady[0][2] = "Greg";
Brady[0][3] = "Greg";
Brady[0][4] = "Greg";

Brady[1][0] = "Team 2";
Brady[1][1] = "Alice";
Brady[1][2] = "Peter";
Brady[1][3] = "Peter";
Brady[1][4] = "Peter";

Brady[2][0] = "Team 3";
Brady[2][1] = "Mike";
Brady[2][2] = "Bobby";
Brady[2][3] = "Bobby";
Brady[2][4] = "Bobby";


function print_2d_string_array(array) {
    document.writeln("<table border>");

    var col_len = array.length;
    var row_len = array[0].length;

    for (var i = 0; i < row_len; i++) {
        document.writeln("<tr>");
        for (var j = 0; j < col_len; j++) {
           document.writeln("<td>" + array[j][i] + "</td>");
        }
        document.writeln("<tr>");
    }
    document.writeln("</table>");
}

print_2d_string_array(Brady);​
</script>

これは出力します:

Team 1  Team 2  Team 3
Carol   Alice   Mike
Greg    Peter   Bobby
Greg    Peter   Bobby
Greg    Peter   Bobby

JSFiddleの例を次に示します。http://jsfiddle.net/uNPXa/

于 2012-10-22T05:24:32.450 に答える
1

次のようにforループを変更する必要があります。

for (row = 0; row < array[0] . length; ++ row)
{
    document . writeln (" <tr>");
    var col;
    for (col = 0; col < array . length; ++ col)
    {
            document . writeln ("  <td>" + array [col][row] + "</td>");
    }
    document . writeln (" </tr>");
}

私が行った変更に注意してrow < array[0] . lengthくださいarray . length

于 2012-10-22T05:23:31.857 に答える