I'm wanting to remove the non-prime numbers from an Array, the following is only removing the even numbers instead of the prime numbers.
function sumPrimes(num) {
//Produce an array containing all number of to and including num
let numArray = [];
for (let i = 1; i <= num; i++) {
numArray.push(i);
}
//Remove non-prime numbers from the array
numArray.map((number) => {
for (let i = 2; i < number; i++) {
if(number % i === 0) {
let index = numArray.indexOf(number);
return numArray.splice(index, 1);
}
}
});
return numArray;
}
sumPrimes(10);
This is currently returning:
[1, 2, 3, 5, 7, 9]
However, prime numbers are 1, 2, 3, 5, 7 (not include 9);