在研究了 strackoverflow 之后,我在其他問題的幫助下撰寫/復制了這個函式。
function evenOrOdd() {
var value = [];
value = document.getElementById('evenField').value;
value = parseInt(value);
if(evenField != ""){
if(value%2==1){
console.log(`${value} is an odd number next 10 digit will be`);
for (var i = 1; i <= 10; i = i 1){
value = value 2;
document.getElementById('console-log').innerHTML = console.log(`Number ${i} is ${value}`);
}
}else{
console.log(`${value} is an even number next 10 digit will be`);
for (var i = 1; i <= 10; i = i 1){
value = value 2;
document.getElementById('console-log').innerHTML = console.log(`Number ${i} is ${value}`);
}
}
}else{
document.getElementById('console-log').innerHTML = "";
}
}
evenOrOdd(10)
當用戶輸入 11 (奇數)時,它的輸出示例是:
11 is an odd number next 10 digit will be
array-interger.js:10 Number 1 is 13
array-interger.js:10 Number 2 is 15
array-interger.js:10 Number 3 is 17
array-interger.js:10 Number 4 is 19
array-interger.js:10 Number 5 is 21
array-interger.js:10 Number 6 is 23
array-interger.js:10 Number 7 is 25
array-interger.js:10 Number 8 is 27
array-interger.js:10 Number 9 is 29
array-interger.js:10 Number 10 is 31
對于偶數是:
12 is an even number next 10 digit will be
array-interger.js:16 Number 1 is 14
array-interger.js:16 Number 2 is 16
array-interger.js:16 Number 3 is 18
array-interger.js:16 Number 4 is 20
array-interger.js:16 Number 5 is 22
array-interger.js:16 Number 6 is 24
array-interger.js:16 Number 7 is 26
array-interger.js:16 Number 8 is 28
array-interger.js:16 Number 9 is 30
array-interger.js:16 Number 10 is 32
我的問題是如何在用戶輸入奇數后將其更改為僅列印偶數?可選,如何在 HTML 標記內顯示 console.log?
HTML 代碼:
<div class="container">
<div class="row justify-content-center align-items-center vh-100">
<div class="col-auto">
<h1>Evens or Odds Numbers</h1>
<form onsubmit="event.preventDefault();" name="form" method="POST">
<div class="mb-3">
<label for="evenField" class="form-label">Enter a number</label>
<input type="number" class="form-control" id="evenField" name="evenField" min="1" max="99">
<small id="console-log" class="text-success"></small>
</div>
<button class="btn btn-primary col-md-12"
onclick="evenOrOdd()">
Submit</button>
</form>
</div>
</div>
</div>
我試圖改變線路
value = value 2;
至
value = value 1;
但它同時列印奇數和偶數
uj5u.com熱心網友回復:
如果值為偶數,這將列印下一個 10 奇數,如果值為奇數,則列印下一個偶數。
const evenOrOdd = () => {
const value = parseInt(document.getElementById('evenField').value);
if (value) {
document.getElementById('console-log').innerHTML = "<br />" `${value} is an ${ value % 2 == 1?'odd':'even'} number next 10 digit will be`
const arr = [...Array(10).keys()];
const result = arr.reduce((acc, item, index) => {
const nextNum = index > 0 ? parseInt(acc[index]) 2 : parseInt(acc) 2;
document.getElementById('console-log').innerHTML = "<br />" `Number ${index 1} is ${acc[index]}`
return [...acc, nextNum];
}, [value 1])
} else {
document.getElementById('console-log').innerHTML = ''
}
}
<div class="container">
<div class="row justify-content-center align-items-center vh-100">
<div class="col-auto">
<h1>Evens or Odds Numbers</h1>
<form onsubmit="event.preventDefault();evenOrOdd()" name="form" method="POST">
<div class="mb-3">
<label for="evenField" class="form-label">Enter a number</label>
<input type="number" class="form-control" id="evenField" name="evenField" min="1" max="99">
<small id="console-log" class="text-success"></small>
</div>
<button class="btn btn-primary col-md-12" onclick="evenOrOdd()">
Submit</button>
</form>
</div>
</div>
</div>
uj5u.com熱心網友回復:
試試這個:
function evenOrOdd(val) {
let value = parseInt(val);
if(value%2==1){
console.log(`${value} is an odd number next 10 digit will be`);
printNumbers(value);
}else{
console.log(`${value} is an even number next 10 digit will be`);
printNumbers(value);
}
}
function printNumbers(value) {
for (var i = 1; i <= 10; i ){
let n = value i;
console.log(`Number ${i} is ${n}`);
value = value 1
}
}
evenOrOdd(11);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/529230.html
下一篇:將字串正確拆分為陣列陣列
