# Generator 求下一个质数
# 判断质数的方法
如果2到Math.sqrt(num)没有能整除的除数的话,就是质数(素数)。注意是[2,Math.sqrt(num)],前闭后闭。
function isPrime(num){
for(let i = 2; i <= Math.sqrt(num); i++){
if(num % i === 0){
return false;
}
}
return true;
}
# 答案
function isPrime(num){
for(let i = 2; i <= Math.sqrt(num); i++){
if(num % i === 0){
return false;
}
}
return true;
}
/*主方法*/
function* genaratorN(){
let tempN = 1;
while(true){
tempN++;
if(isPrime(tempN)){
yield tempN;
}
}
}
let f = genaratorN();
console.log(
f.next().value, // 2
f.next().value, // 3
f.next().value, // 5
f.next().value // 7
)
f.next()是{ value: 3, done: false }`形式的遍历器项。