2017-11-07 13 views
0

주어진 배열을 가져 와서 주어진 배열에서 소수 인 숫자 만 포함하는 새로운 배열을 만들기 위해 반복하려고합니다.주어진 배열 (자바 스크립트)에서 생성 된 소수의 배열

내가 잘 모르겠다는 문구가 있습니다. 나는 이것이 도살되고 잘못되었지만 어떻게 해결해야할지 모르겠다는 것을 알고 있습니다. 아니면 내가 옳은 방향으로 나아가고있다.

var myArray = isPrime([1,5,17,25,30]) 
console.log(myArray) 

function isPrime(array){ 
    var primes = []; 
    for(var i = 0; i < array.length; i++){ 
     if(array[i] /= 1 || array[i]/1 == array[i]){ 
      primes.push([i]); 
     } 
    } 
    return primes; 
} 

답변

0

수가 소수인지 아닌지가 알려주는 isElementPrime(number) 기능을 만드는 할 수있는 간단한 방법 그것을 통해, 루프 (AN implementation here를 찾을 수 있습니다)!

function isPrime(array){ 
    var primes = []; 
    for(var i = 0; i < array.length; i++){ 
     if(isElementPrime(array[i]){ 
      primes.push(array[i]); 
     } 
    } 
    return primes; 
} 
0

아이디어는 그보다 작은 수와 1보다 큰 수로 나누고 나머지가 있는지 확인하는 것입니다.

filter을 사용하면이 값을 배열의 모든 요소에 적용 할 수 있습니다.

참조 예 : 나는 그것을 할 쉬울 거라고 생각하는 방법을

function isPrime(element) { 
 
    for(var i = 2; i < element; i++) { 
 
    if(element % i === 0) { 
 
     return false; 
 
    } 
 
    } 
 
    return element !== 1; 
 
} 
 

 
var array = [1, 5, 17, 25, 30]; 
 
var primes = array.filter(isPrime); 
 

 
console.log("array: " + array); 
 
console.log("primes: " + primes);

+0

참조, 즉, 그러나 교수는 배열 자체를받는 함수를 원하기 때문에 분명히 그것은 잘못이다 그것의 매개 변수. 정확히 일치하는 표현은 다음과 같습니다. "isPrime이라는 함수는 숫자 배열을 취해 소수가 포함 된 배열을 반환합니다 (예 : isPrime ([1, 5, 17, 25, 30])). [1, 5, 17]을 반환해야합니다. " 나는 1이 기술적으로 소수가 아니라는 것을 알고 있지만, 솔직히 말해서 Ricardo가 단순한 함수 소개의 깊이를 초월한 것처럼 보이는 것을 사용하지 않고 이것을 해결하는 방법에 대한 손실이 있습니다. – BetaRay

+0

@ BetaRay 내가 제공 한 답이 맞습니다. 숙제 문제를 해결하려면 특정 형식의 답이 필요합니다. 'isPrime'이라는 함수를 생성하는 것은 매우 쉽습니다. 여기서는 제가 제공 한 답을 주어진 배열로 취합니다. 시도하십시오. –