Alguma alma caridosa poderia me ajudar por favor?

Estou em um curso para JS, me deparei com uma questão no qual estou a 24hrs batendo a cabeça pra solucionar. Após procurar achei pessoas resolvendo porém de uma forma “mais difícil/avançado” do que a matéria que estou no curso;

A questão seria “receba dois números e imprima os números primos existentes entre eles”
Em aula fizemos um com números pares usando prompt e if/else, do/while, array/function. A materia em si é “Estruturas de repetição - LOOP”

let valor = Number(prompt("Digite o primeiro valor:"));
let valor2 = Number(prompt("Digite um valor maior que o anterior:"));

 if(valor2 < valor){
            let a =  valor2;
            valor2 = valor;
            valor = a;
        }

        do{
            if(valor%2 == 0){
                document.write(valor + ",");
            }
            valor ++;
        }while(valor<=valor2);

Uma solução é você implementar uma função que determina se um número é primo ou não!

/* Uma implementação simples para determinar se um número é
 * primo. Existem algoritmos mais eficientes!
 */
function ehPrimo(x){
  // 1 não é primo!!!
  if(x == 1){
    return false;
  }
  
  for(let i = 2; i<x; i++){
    if(x % i === 0){
      return false;
    }
  }
  
  return true;
}


let valor1 = Number(prompt("Digite o primeiro valor:"));
let valor2 = Number(prompt("Digite um valor maior que o anterior:"));                 

/*
* Imprime todo os número primos entre valor1 e valor2!!!
*/
for(let i = (valor1 + 1); i < valor2; i++){
  if(ehPrimo(i)){
    console.log(i);
  }
}

Se tiver com dificuldade para entender o algoritmo é só se lembrar da definição matemática de um número primo!

1 curtida