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.
[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>