該函數將根據步長值顯示起始數字和結束數字之間的所有偶數。 例如,如果我輸入1,20和3. 我應該有4,10和16作爲偶數。使用按鈕顯示數組內的所有值
我需要將evenNum數組內的所有數字推入#result span。
目前它似乎只顯示數組內的最後偶數。
此外,如果我想以垂直線顯示所有偶數,我該怎麼做?
https://codepen.io/anon/pen/wgwaey
<body>
<div class="container">
<h1>Sample</h1>
</div>
<div class="container">
<label>Starting Number: </label>
<input id="startingNum" type="text">
<br>
<label>Ending Number: </label>
<input id="endingNum" type="text">
<br>
<label>Step: </label>
<input id="step" type="text">
<br>
<button onclick="playButton()" id="play">Display Evens</button>
</div>
<div class="container">
<p>Here are the even numbers between <span id="startNum"></span> and <span id="endNum"></span> by <span id="stepNum"></span>'s:</p>
<span id="result"></span>
</div>
</body>
JS:
<script>
function playButton(){
run();
}
function run(){
var x = parseInt(document.getElementById("startingNum").value);
var y = parseInt(document.getElementById("endingNum").value);
var z = parseInt(document.getElementById("step").value);
document.getElementById("startNum").innerHTML = x;
document.getElementById("endNum").innerHTML = y;
document.getElementById("stepNum").innerHTML = z;
var evenNum = [];
while (x < y){
if (x%2 == 0){
evenNum.push(x);
}
x += z;
for (var i = 0; i<evenNum.length; i++){
document.getElementById("result").innerHTML = evenNum[i];
}
}
}
</script>
您可以動態創建一個表格,其中包含您需要的多行(本例中每個單元格包含一個單元格)並將這些值放入這些單元格中。這將創建一個簡單的垂直呈現。搜索「使用JavaScript創建表格」並會彈出一些示例。有些人可能會告訴你「不要使用表」,我會忽視它作爲勢利(查看這個頁面的來源,它使用表)。它們被廣泛使用,在任何地方都很穩定,包括移動設備,易於使用CSS操作,braindead簡單,適合初學者學習。 –
請注意,如果用戶爲該步驟輸入0或負數,應用程序將具有無限的while循環。你應該仔細檢查並提示用戶輸入一個從1到n的正數 – mhodges
另一件需要記住的事情是,對一個空字符串執行'parseInt()'將返回NaN。如果你用'Math.round(Number([你的字符串值])'替換'parseInt')'你不會得到NaN,你的數字仍然是整數。 – mhodges