Prime Numbers JavaScript

Based on this page, this would be a method for determining if a number is a prime number:

function isPrime(number) {
    let start = 2;
    const limit = Math.sqrt(number);
    while (start <= limit) {
        if (number % start++ < 1) return false;
    }
    return number > 1;
}

In node.js it takes about 250Ms for determining the prime numbers between 2 and 100.000.

See also …

[edit aug. 2021] A somewhat more efficient function. See this Stackblitz project

document.querySelector(`pre`).textContent = `Prime numbers < 100\n` +
  [...Array(100)]
  .map((v, i) => isPrime(i) ? i : 0)
  .filter(v => v > 0)
  .join(`\n`);

function isPrime(number) {
  const checkPrime = (nr, limit) => {
    for (let start = 3; start <= limit; start += 2) {
      if (0 === nr % start) {
        return false;
      }
    }

    return nr > 1;
  };

  return number === 2 || number % 2 !== 0 && checkPrime(number, Math.sqrt(number));
}
<pre></pre>

Leave a Comment