📜  删除非素数 js - Javascript (1)

📅  最后修改于: 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() 函数可以删除数组中的非素数,只保留素数。