📅  最后修改于: 2023-12-03 15:07:16.500000             🧑  作者: Mango
本文介绍如何使用 JavaScript 删除非素数。
素数是只能被 1 和本身整除的正整数。例如,2、3、5、7、11、13、17 等都是素数。
我们可以使用一个循环来遍历数组中的每个数。对于每个数,我们可以使用另一个循环来判断它是否是素数。如果不是素数,则可以使用 splice()
方法从数组中删除该数。
function deleteNonPrimes(array) {
for (let i = array.length - 1; i >= 0; i--) {
let isPrime = true;
if (array[i] < 2) {
isPrime = false;
} else {
for (let j = 2; j <= Math.sqrt(array[i]); j++) {
if (array[i] % j === 0) {
isPrime = false;
break;
}
}
}
if (!isPrime) {
array.splice(i, 1);
}
}
return array;
}
让我们测试一下 deleteNonPrimes()
函数:
let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(deleteNonPrimes(array)); // [2, 3, 5, 7]
使用 deleteNonPrimes()
函数可以删除数组中的非素数,只保留素数。