javascript - 在数组中寻找素数以存储在Javascript中的另一个数组中
问题描述
我试图构建一个程序来查看数组,获取任何素数,然后将它们存储在单独的数组中。我尝试混合和匹配一些代码片段,它似乎在大多数情况下都有效,但有时会给出一个非质数(在本例中为 33,可被 3 和 11 整除)。所有其他数字似乎都是正确的。会不会是我遗漏的小东西?任何和所有的帮助表示赞赏。谢谢!
var array = [33,23,5,7,10,20,30,12,37];
primes(array);
function primes(arr){
var arrayLength = arr.length;
var primeArray = [];
function primeNum(arrElement){
if (arrElement <= 1){
console.log(arrElement + " is not a valid test number.");
}
for (var x = 2; x < arrElement; x++){
if (arrElement % x === 0){
return false;
}
return true;
}
}
for (var y = 0; y <= arrayLength - 1; y++){
if(primeNum(arr[y])){
primeArray.push(arr[y]);
}
}
console.log(primeArray);
}
输出给出:(5) [33, 23, 5, 7, 37]
解决方案
var array = [33, 23, 5, 7, 10, 20, 30, 12, 37];
primes(array);
function primes(arr) {
var arrayLength = arr.length;
var primeArray = [];
function primeNum(arrElement) {
if (arrElement <= 1) {
console.log(arrElement + " is not a valid test number.");
}
for (var x = 2; x < arrElement; x++) {
if (arrElement % x === 0) {
return false;
}
}
return true;
}
for (var y = 0; y <= arrayLength - 1; y++) {
if (primeNum(arr[y])) {
primeArray.push(arr[y]);
}
}
console.log(primeArray);
}
在should 之外funcation primeNum
的return true
for 循环。
推荐阅读
- mongodb - 在 MongoDB 中重命名集合
- vue.js - 在 Vue 中访问 {__ob__: Observer}
- ios - 安装 React 时出现 React Native 错误(ReferenceError:找不到变量:React)?
- javascript - 温斯顿轮换日志文件名包括当天的日期
- android - 如何给 RotationAnimation 一个稳定的速度?
- javascript - 如何使用按钮删除由 document.createElement 创建的 div 和输入
- kotlin - 后按的 Kotlin 导航组件无法正常工作
- c# - 从连接字符串中转义特殊字符
- c# - Foreach-loop 循环太多次并请求其他模型
- elasticsearch - 在 ES 中运行 Explain API 时没有得到解释结果