剛剛在我的教練想出的一個學校項目上工作,應該是用僞代碼編寫的,但我正在更進一步,並將其寫入javascript/html以構建一個功能性網站。基本上,有一個假設的學校有9個等級,每個等級3個教室,每個班級9個月。我應該寫一個僞代碼腳本來爲每個教室生成帳單 - 幼兒園每月80美元,其餘的每個月60美元,直到8年級。有沒有更有效的方法來寫這個?
無論如何,我很好奇,如果有更好的方法來編寫這段代碼並列出每個月的賬單 - 教師佈置代碼的方式,我必須寫這27次(每次教室3次9年級),幼兒園每月80美元,其餘課程每月60美元。這是我到目前爲止有:
<body>
<script>
var x = 0;
var y = 1;
var i;
var theMonths = ["January", "February", "March", "April", "May",
"June", "July", "August", "September"];
function javascript() {
for (i = 0; i < 10; i++) {
document.getElementById("td1").innerHTML += theMonths[0];
document.getElementById("td2").innerHTML += theMonths[1];
document.getElementById("td3").innerHTML += theMonths[3];
document.getElementById("td4").innerHTML += theMonths[4];
document.getElementById("td5").innerHTML += theMonths[5];
document.getElementById("td6").innerHTML += theMonths[6];
document.getElementById("td7").innerHTML += theMonths[7];
document.getElementById("td8").innerHTML += theMonths[8];
document.getElementById("td1a").innerHTML += "$60";
document.getElementById("td2a").innerHTML += "$60";
document.getElementById("td3a").innerHTML += "$60";
document.getElementById("td4a").innerHTML += "$60";
document.getElementById("td5a").innerHTML += "$60";
document.getElementById("td6a").innerHTML += "$60";
document.getElementById("td7a").innerHTML += "$60";
document.getElementById("td8a").innerHTML += "$60";
return false;
}
}
</script>
<div id="demoDiv">
<p id="demo">Your coupons:</p>
<table>
<tr>
<th scope="col">Month:</th>
<th scope="col">Price:</th>
</tr>
<tr>
<td id="td1"></td>
<td id="td1a"></td>
</tr>
<tr>
<td id="td2"></td>
<td id="td2a"></td>
</tr>
<tr>
<td id="td3"></td>
<td id="td3a"></td>
</tr>
<tr>
<td id="td4"></td>
<td id="td4a"></td>
</tr>
<tr>
<td id="td5"></td>
<td id="td5a"></td>
</tr>
<tr>
<td id="td6"></td>
<td id="td6a"></td>
</tr>
<tr>
<td id="td7"></td>
<td id="td7a"></td>
</tr>
<tr>
<td id="td8"></td>
<td id="td8a"></td>
</tr>
</table>
</div>
<input type="button" value="Go!" onclick="javascript();" />
</body>
有沒有辦法簡化這個,所以我不必複製/粘貼一切的27倍,並用不同的ID的27代個體表爲TD項目?
如果你能解決這個問題對我來說 - 你真棒:d
您可以在JavaScript中生成允許使用內部循環的表格。 – FakeRainBrigand
響應將取決於目標瀏覽器。我個人會使用'Date.prototype.toLocaleString'來解決這個問題。 – Knu
創建僞代碼的想法是識別需求並識別重複功能。如果你做了psuedocode,你會意識到解決方案是一些變量和幾個循環。 – jeff