Простые числа от 1 до n 
		
		
		
		Застрял на задачке. Нужно вывести простые числа от 1 до заданного числа. У меня выводится только последнее число: 
	
const getPrimes = n => {
    let isPrime;
    for (let i = 1; i <= n; i++) {
        for (let j = 1; j <= i; j++) {
            if (i % j !== 0) {
                isPrime = j;
            }
        }
    }
    return isPrime;
}
console.log(getPrimes(12));  | 
	
		
 Цитата: 
	
  | 
	
		
 Как вариант... 
	
const n = 10
const a = []
for (let i = 2; i <= n; i++) {
	let ok = true
	for (let j = 0; j < a.length; j++) {
		if (i % a[j] === 0) {
			ok = false
			break
		}
	}
	if (ok) a.push(i)
}
alert(a)
 | 
	
		
 Цитата: 
	
  | 
	
		
 нужно проверить от 1 до n. Если в ваш код поставить let i = 1, то работать не будет 
	 | 
	
		
 аа...тогда в j тоже поставить 1 и работает) 
	 | 
	
		
 и без флага let ok = true, никак нельзя? 
	 | 
	
		
 Цитата: 
	
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 ребята, а можно мастер-класс? Сможете решить это с помощью метода reduce?) 
	
const getPrimes = n => {
    const a = [];
    for (let i = 1; i <= n; i++) {
        let ok = true;
        for (let j = 1; j < a.length; j++) {
            if (i % a[j] === 0) {
                ok = false;
            }
        }
        if (ok === true) a.push(i);
    }
    return a;
}
 | 
	
		
 Цитата: 
	
 
const getPrimes = n => {
    const a = [];
    lab: for (let i = 1; i <= n; i++) {
        for (let j = 1; j < a.length; j++) {
            if (i % a[j] === 0) {
                continue lab;
            }
        }
        a.push(i);
    }
    return a;
}
https://learn.javascript.ru/while-fo...break-continue  | 
	
		
 Цитата: 
	
 lab:  | 
	
		
 по ссылке, которую вы дали, не нахожу чтобы понять что такое метка lab; и как оно работает 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 :) :write:  
	
const getPrimes = length => {
            return Array.from({
                length
            }, (_, i) => ++i).reduce((a, b) => {
                let max = Math.floor(Math.sqrt(b));
                if (a.slice(1, max).every(e => b % e)) a.push(b);
                return a
            }, [])
        }
    console.log(getPrimes(120))
 | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 07:41. |