2017-09-19 6 views
-2


こんにちは、
素数で新しい配列を返す関数を作成したいと思います。 私の関数は素数だけを返すべきですが、素数だけでなく戻ります。 私は自分の機能をどのように改善することができますか?
ありがとうございました!素数で新しい配列を返す関数JavaScript

あなたが iは(数が2の場合)、完全に自分自身を含めない i/2までの2からすべての数字で割った、とだけにして配列に iをプッシュすることができないことを確認する必要があり
function getAllPrimeNumber(array, num) { 
    array = new Array(); 
     for (var i = 2; i <= num; i++) { 
      for(var j = 2; j < i; j++){ 
       if(i % j==0){break; } 
       array.push(i); 
      } 

     } 
    return array; 
} 
console.log(getAllPrimeNumber([], 5)); //[3, 5, 5, 5] 
console.log(getAllPrimeNumber([], 9)); //[3, 5, 5, 5, 7, 7, 7, 7, 7, 9] 
+0

問題は何ですか? –

+0

それは数回プッシュして、プライム@MattClark – Nazariy

答えて

0

function getAllPrimeNumber(num) { 
 
    var array = []; 
 
    var isPrime; 
 
    for (var i = 2; i <= num; i++) {  
 
    for (var j = 2; (isPrime = i === j || i % j !== 0) && j <= i/2; j++) {} 
 

 
    isPrime && array.push(i); 
 
    } 
 
    return array; 
 
} 
 
console.log(getAllPrimeNumber(5)); 
 
console.log(getAllPrimeNumber(9));