Как найти простые натуральные числа из диапазона?

Не понимаю как поставить циклы так, чтобы число, проходя второй for полностью до конца, попадало в массив. До конца, то есть у него не было ни с одним числом остатка от деления 0.

let arr = [];
for(let i = 2; i <= 10; i++){
    for(g = 2; g < i; g++){
        if (i % g !== 0) arr.push(i);
    }
}
console.log(arr);

Ответы (2 шт):

Автор решения: Vlad Chapl

Понимаю - учеба началась!

Пожалуйста, сделай отдельную функцию, которая принимает на вход число, проверяет его на простоту и возвращает True или False.

После этого, надеюсь, станет понятнее?

Делать цикл в цикле можно, но это может усложнять понимание текста. В твоем случае нужно как только встречаем (i % g == 0) мы досрочно покидаем цикл. Если цикл полностью выполнен и условие не срабатывало, то добавляем число в массив.

→ Ссылка
Автор решения: Gans Liber
let n = prompt("введите границу диапазона");
for (let i = 2; i <= n; i++) {
    let flag=1;
    for (let j = 2; (j <= i/2)&&(flag==1); j++) {
        if (i%j==0) {
            flag=0
        }
    }
    if (flag==1) {
        console.log(i);
    }

}
→ Ссылка