【发布时间】:2021-02-06 19:55:17
【问题描述】:
我的目标是打印出低于输入原始值的素数(不包括输入的数字)。当我编写函数时,我可以使用console.log(i) 看到我需要的结果,但是当我将其更改为return i 时,我在调用函数showPrime(n) 时没有得到结果。我认为问题是我如何在 showPrime() 中返回结果,我需要创建一个空字符串吗?
function isPrime(n) {
//2 is an exception
if ((n <= 1) || n % 2 == 0) {
return false;
} else {
return true;
};
};
function showPrime(n) {
let numbies = []
for (let i = 0; i < n; i++) {
if (isPrime(i) === true) {
console.log(i)
}
}
}
//user interface logic
$(document).ready(function() {
$("form").submit(function(event) {
event.preventDefault();
n = $("input#numberInput").val();
alert(showPrime(n));
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<h1>Prime Number Sifter</h1>
<p>When you input a number, the program will return all prime numbers below it (not including the number). <em>Note: While 2 is a prime number, the program won't return anything since 1 is not!</em></p>
<form>
<div class="form-group">
<label for="numberInput">Input </label>
<input type="integer" class="form-control" id="numberInput" placeholder="Enter number">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<br>
<div id="output">
<p><span class="show"></span></p>
</div>
【问题讨论】:
标签: javascript for-loop iterator