0

4 列のテーブルを作成するスクリプトを書いています。列はNN * 10N * 100およびN * 1000です。最初の 2 つの列を作成することができましたが、今は立ち往生しています。コードをリファクタリングするにはどうすればよいですか?

var n;
var m1 = 10;
var m2 = 100;
var m3 = 1000;

document.writeln("<table>");
document.writeln("<h1>Calculating Compound Interest</h1>");
document.writeln("<thead><tr><th>N</th>");
document.writeln("<th>N * 10</th>");
document.writeln("<th>N * 100</th>");
document.writeln("<th>N * 1000</th>");
document.writeln("</tr></thead><tbody>");

for (var number = 1; number <= 5; number++) {
    n = number * m1;

    if (number % 2 !== 0)
        document.writeln("<tr class='oddrow'><td>" + number +
                         "</td><td>" + n.toFixed(0) + "</td></tr>");
    else
        document.writeln("<tr><td>" + number +
                         "</td><td>" + n.toFixed(0) + "</td></tr>");
}

document.writeln("</tbody></table>");
4

3 に答える 3

1

for ループを次のように変更します。

for ( var number = 1; number <= 5; ++number )
 {
    n = number * m1;
    if ( number % 2 !== 0 )
       document.writeln( "<tr class='oddrow'><td>" + number + "</td>");
    else
       document.writeln( "<tr><td>" + number + "</td>");

    document.writeln("<td>" + n.toFixed(0) + "</td>" );
    n = number * m2;
    document.writeln("<td>" + n.toFixed(0) + "</td>" );
    n = number * m3;
    document.writeln("<td>" + n.toFixed(0) + "</td></tr>" );
  } 
于 2013-10-02T03:50:10.673 に答える
0

number*2およびの結果を配置する場所に、さらに 2 つの td を追加する必要があります。number*m3

document.writeInまた、毎回使用するのではなく、innerHTML を使用して完全な目的の html を記述することをお勧めします。

js fiddle のソリューションを参照してください

 var n; 
 var m1 = 10;
 var m2 = 100;
 var m3 = 1000;

var heading_html = "<h1>Calculating Compound Interest</h1>" ;     
var tbable_html = "<table border=1>"; 

tbable_html +=   "<thead><tr><th>N</th>";
tbable_html +=  "<th>N*10</th>";
tbable_html +=  "<th>N*100</th>";
tbable_html +=  "<th>N*1000</th>";
tbable_html +="</tr></thead><tbody>";
for (var number = 1; number <= 5; ++number) {
    n1 = number * m1; 
    n2 = number * m2;
    n3 = number * m3;
    if (number % 2 !== 0)
        tbable_html +="<tr class='oddrow'><td>" + number + "</td><td>" +
n1.toFixed(0)+"</td><td>"+n2.toFixed(0)+"</td><td>"+n3.toFixed(0)+"</td></tr>";
    else
        tbable_html +="<tr><td>" + number + "</td><td>" + n1.toFixed(0) +
"</td><td>" + n2.toFixed(0) + "</td><td>" + n3.toFixed(0) + "</td></tr>";
}
tbable_html +="</tbody></table>";

document.write(heading_html+tbable_html);
于 2013-10-02T04:08:20.447 に答える