Introducción al curso

1

¡Alto! Tenemos una nueva versión de este curso para ti

2

Bienvenidos al Curso de Fundamentos de JavaScript

3

Repositorio de este curso de fundamentos de JS

Primeros pasos en JavaScript

4

Variables

5

Variables: Strings

6

Variables: Números

7

Funciones

8

El alcance de las funciones

9

Objetos

10

Desestructurar objetos

11

Parámetros como referencia o como valor

12

Comparaciones en JavaScript

Estructuras de Control y Funciones

13

Condicionales

14

Funciones que retornan valores

15

Arrow functions

16

Estructuras repetitivas: for

17

Estructuras repetitivas: while

18

Estructuras repetitivas: do-while

19

Condicional múltiple: switch

Arrays

20

Introducción a arrays

21

Filtrar un array

22

Transformar un array

23

Reducir un array a un valor

Programación Orientada a Objetos en JavaScript

24

Cómo funcionan las clases en JavaScript

25

Modificando un prototipo

26

El contexto de las funciones: quién es this

27

La verdad oculta sobre las clases en JavaScript

28

Clases en JavaScript

Asincronismo

29

Funciones como parámetros

30

Cómo funciona el asincronismo en JavaScript

31

Cómo funciona el tiempo en JavaScript

32

¿Qué pasó con swapi.co?

33

Callbacks

34

Haciendo múltiples requests

35

Manejando el Orden y el Asincronismo en JavaScript

36

Manejo de errores con callbacks

37

Promesas

38

Promesas Encadenadas

39

Múltiples promesas en paralelo

40

Async-await: lo último en asincronismo

Juego de HTML

41

Comenzando el juego

42

Generando una secuencia de números

43

Iluminando la secuencia de colores

44

Obteniendo el input del usuario

45

Agregando la verificación del color elegido

46

Agregando los estados finales del juego

47

Conclusiones del curso

Complementos

48

Diferencias entre var, let y const

49

Memoización: ahorrando cómputo

50

¿Hace cuántos días naciste?

51

Funciones recursivas

52

Entiende los closures de JavaScript

53

Estructuras de datos inmutables

54

Cambiando de contexto al llamar a una función

55

¿Cuándo hace falta poner el punto y coma al final de la línea?

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Estructuras repetitivas: do-while

18/55
Recursos

Otra estructura repetitiva es el do-while. A diferencia de la instrucción while, un bucle do…while se ejecuta una vez antes de que se evalúe la expresión condicional.

Reto, resuelve el bug que tiene el ejercicio.

Aportes 1441

Preguntas 37

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

-While() , Consulta, luego ejecuta.
-Do While() Ejecuta, luego consulta.

Adjunto imagen que les hará entender fácilmente 😄

fui a ver si Llovía y cuando volví se acabo la clase

En México es mas común que digan “ve a ver si ya puso la marrana” por eso hice este código

var contador = 0

const marrano = () => Math.random() < 0.25

do {
    contador ++
} while (!marrano())

if (contador === 1){
    console.log(`Fui a ver si habia puesto la marrana ${contador} vez`)
}
else{
    console.log(`Fui a ver si habia puesto la marrana ${contador} veces`)
}

/*
Resultados
=====>>>>>
Fui a ver si habia puesto la marrana 3 veces
--------------------------------------------
Fui a ver si habia puesto la marrana 1 vez
<<<<<=====
*/

![](

Reto!

let cont = 0;
const llueve = () => Math.random() < 0.25;
do {
  cont++;
} while (!llueve());
console.log(`Fuí a ver si llovía ${cont} ${cont === 1 ? "vez" : "veces"}`);

Diferencia entre Do y Do while:

While y Do While son bucles, su contenido “puede” ejecutarse repetidamente, en función de una condición.

Usando la estructura while sólo se pasa a ejecutar su contenido si se comprueba una condición lo que puede ocurrir 0, 1 o más veces. Do While funciona de forma similar, solo que nos aseguramos de que el contenido sea ejecutado al menos una vez, es decir que aunque su condición no se cumpla, su contenido se ejecuta.

Puedes probar esto en el ejercicio de esta clase colocando la probabilidad de que llueva al 0.99. Cuando ejecutamos el código con Do while nunca sale “Fuí a ver 0 veces”, siempre sale 1 vez; pero en cambio cuando usamos while puede salir 1 vez o 0.

Hice uso del operador ternario (condicion) ? true : false para hacer la condición y solucionar el problema.

var contador = 0;

const llueve = () => Math.random() < 0.25;

do {
 contador += 1;
} while (!llueve());

console.log(`Fuí a ver si llovía ${contador} ${(contador > 1) ? 'Veces' : 'Vez' }`);

Reto:

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve())

if(contador <= 1) {
    console.log(`Fui a ver si llovia ${contador} vez `)
}else{

console.log(`Fui a ver si llovia ${contador} veces`)

}

Practicando los retos:


var contador=0;
const llueve=()=>Math.random()<0.25;
do {
	contador++;
}while(!llueve());

console.log(`Fui a ver si llovia ${contador} ${contador===1?'vez':'veces'}`);```

Primero dispara y luego pregunta 😎😎

var contador = 0;
const llueve = () => Math.random() < 0.25;

do {
    contador += 1;
} while (!llueve())
    if(contador === 1){
        var ir = 'vez';
    }else{
        var ir = 'veces';
    };

console.log(`Fui a ver ${contador} ${ir} si llovia`);

Yo lo traduje a español mexicano jajaja

var contador=0
const marrana=() => Math.random()<0.25

do {
    contador++
} while (!marrana())


if(contador===1)
console.log(`Fui a ver si ya puso la marrana ${contador} vez`)
else
console.log(`Fui a ver si ya puso la marrana ${contador} veces`)

RETO

var contador = 0
//funcion que devueve si llueve o no
const llueve = () => Math.random() < 0.25

do{
 contador += 1  
} while (!llueve())

console.log(`Fui a ver si llovia ${contador} ve${contador ===1? 'z': 'ces'}`)```
var contador = 0;

const llueve = () => Math.random() < 0.25;

do{
    contador++;
} while( !llueve() );

var str = 'vez';
if( contador > 1 ) str = 'veces';

console.log(`Fui a ver si llovia ${contador} ${str}.`);

Reto:

var contador = 0

const llueve = () => Math.random() < 0.25

do {

    contador ++
} while (!llueve())

var vezVeces = contador === 1 ? 'vez':'veces'
console.log(`Fui a ver si llovia ${contador} ${vezVeces} .`)
console.log(`Fui a ver si llovía ${contador} ${contador > 1 ? 'veces' : 'vez'}`)

var contador = 0;

const llueve = () => Math.random() < 0.25;

do {
contador++;
} while (!llueve())

console.log(Fui a ver si llovia ${contador} ${contador == 1 ? 'vez' : 'veces'});

var contador = 0
const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve());

console.log(`Fui a ver si llovia ${contador} ${contador ===1 ? 'vez' : 'veses'}`)

Desafio:

var contador = 0
const llueve = () => Math.random() < 0.25

do{
    contador++
}while(!llueve())

if(contador === 1){
    console.log(`Fui a ver si llovia ${contador} vez`)
} else{
    console.log(`Fui a ver si llovia ${contador} veces`)
}```
var contador = 0
const llueve = () => Math.random() < 0.25

do{
    contador++
}while(!llueve())

console.log(`Fui a ver si llovia ${contador} ${contador > 1 ? 'veces': 'vez'}`)

Desafio:

var contador = 0
const llueve = () => Math.random() < 0.25
do {
    contador++
} while (!llueve()) {

    var vecesQueLlovio = contador === 1 ? `fui a ver si llovia ${contador} vez`: `fui a ver si llovia ${contador} veces`
    console.log(vecesQueLlovio)
}
<code>var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

if (contador === 1) {
  console.log(`Fui a ver si llovia ${contador} vez.`)
} else {
  console.log(`Fui a ver si llovia ${contador} veces.`)  
}

Reto Completado!!

var contador = 0;

var llueve = () => Math.random() < 0.25 

do {
    contador++
} while (!llueve());

contador === 1 ?  console.log(`Fui a ver si llovia ${contador} vez`) : console.log(`Fui a ver si llovia ${contador} veces`)```
var contador = 0;
const llueve = () => Math.random() < 0.25;
do {
  contador++;
} while (!llueve());

console.log(
  `Fui a ver si llovía ${contador} ` + (contador > 1 ? "veces" : "vez")
);
var contador = 0;
const llueve = () => Math.random() < 0.25;
do{
    contador++;
}while(!llueve())

if(contador===1)
console.log(`Fui a ver si llovia ${contador} vez`);
else
console.log(`Fui a ver si llovia ${contador} veces`);
var contador = 0
const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

if (contador > 1) {
  console.log(`Fui a ver si llovía ${contador} veces.`)
} else {
  console.log(`Fui a ver si llovía ${contador} vez.`)
}

Mi solución al desafio

const frecuencia = cantidad => cantidad > 1 ? `${cantidad} veces` : `${cantidad} vez`

console.log(`Fui a ver si llovia ${ frecuencia(contador) }`)

Soluciṕn al error planteado…

//Ciclo do-While
var contador = 0

const llueve = () => Math.random() < 0.25

do{
contador++
} while(!llueve())

const frecuencia = contador===1 ? “vez”:“veces”

console.log(Fui a ver si llovia ${contador} ${frecuencia})

listo 😃

var count = 0
const rain = () => Math.random() < 0.25

do{
    count++
} while(!rain())

if(count === 1){
    count = 'once'
}
var frecuency = count > 1 ? 'times':''
console.log(`i whent to see if rains ${count} ${frecuency} `)```

Desafio :

var contador = 0

const llueve = () => Math.random() < 0.25  

do {
    contador+=1
} while (!llueve());

//En la primera condición en caso de que sea 1 lo cambio por "una".

console.log(`Fui a ver si llovia ${contador === 1 ?'una':contador} ${contador < 2 ? 'vez':'veces'}`)
var contador = {
contar: 0,
vez: 'vez',
veces: 'veces'
};

const SI_LLUEVE = () => Math.random() <= 0.5;

do {

    contador.contar++;

} while(SI_LLUEVE());
contador.contar === 1 ? console.log(`Fui a ver si llovía ${contador.contar} ${contador.vez}`) : console.log(`Fui a ver si llovía ${contador.contar} ${contador.veces}`);

Comparto mi código del desafío 😄

let contador = 0;

const llueve = () => Math.random() < 0.25; // Devuelve true o false

do {
    contador++;
} while (!llueve());

palabra = contador => contador > 1 ? `${contador} veces` : `${contador} vez`;

console.log(`Fui a ver si llovia ${palabra(contador)}`);
var contador = 0
const veces = contador => contador>1? 'veces':'vez'
const llueve = () => Math.random() < 0.25
do {	

	contador++
} while ( ! llueve() )

console.log (`Fui a ver si llovia ${contador} ${veces(contador)}`)```
var contador = 0
var bugFixed = ''
const llueve = () => Math.random() < 0.25

do {
contador++
} while(!llueve())

if (contador == 1) {
    bugFixed = 'vez'    
} else {
    bugFixed = 'veces'
}
console.log(`Fui a ver si llovia ${contador} ${bugFixed}`)
var contador = 0


const llueve = () => Math.random() <0.25

do {
  contador ++
} while (!llueve())

if (contador ===1) {
  var veces = "vez"
}
else {
  var veces = "veces"
}
console.log(`fui a ver si llovía ${contador} ${veces}`)

RETO

var contador = 0;

const llueve = () => Math.random() < 0.25;

do {
    contador++
} while (!llueve());

if (contador === 1){
    console.log(´Fui a ver si llovia ${contador} vez´);
} else {
    console.log(´Fui a ver si llovia ${contador} veces´);
}

`var contador = 0;
const llueve = () => Math.random() < 0.25;

do {
contador++
} while(!llueve());

console.log( fui a ver si llovía ${contador} ve${contador>1?'ces':'z'});`

var i=0
const llueve= ()=> Math.random()<.25
do{
    i++
}while(!llueve())

if(i==1)
    console.log(`Fui a ver si llovia ${i} ves`)
        else {
            console.log(`Fui a ver si llovia ${i} veces`)
        }
var contador = 0
const LLUEVE = () => Math.random() > 0.25

do 
{
  contador++
} while (!LLUEVE());

if (contador === 1) 
{  
  console.log(`Fui a ver si llovía ${contador} vez`)
} else
{
  console.log(`Fui a ver si llovía ${contador} veces`)
}  

var contador = 0;
const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

var mensaje = ''
if (contador === 1) {
  mensaje = 'vez'
} else {
  mensaje = 'veces'
}
console.log(`Fui a ver si llovía ${contador} ${mensaje}.`);

reto
lo hice de dos formas

if(contador === 1)
{
    console.log(`fui a ver si llovia ${contador} vez`);    
}
else
{
    console.log(`fui a ver si llovia ${contador} veces`);
}

//segunda forma
var n 
if(contador === 1)
{
    n = 'vez'
}
else
{
    n = 'veces'
}

console.log(`fui a ver si llovia ${contador} ${n}`);```

👌

var contador = 0
const llueve = () => Math.random() < 0.25
do {
	contador++
} while (!llueve())

if(contador > 1) {
	console.log(`Llovio ${contador} veces`)
} else {
	console.log(`Llovio ${contador} vez`)
}```
var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

console.log(`Fui a ver si llovia ${contador} ${contador === 1 ? 'vez' : 'veces'}`)```
var contador = 0
const llueve = () => Math.random() < 0.25

do {
	contador++
} while (!llueve()) 

var textoVeces = (contador > 1) ? 'veces' : 'vez' 

console.log(`Fui a ver si llovía ${contador} ${textoVeces}`)

Hola muchachos. Aquí mi propuesta para el reto 😉

var contador = 0;
var mensaje = '';

const llueve = () => Math.random() < 0.25;

do {
    contador++;
} while (!llueve())

contador === 1
    ? mensaje = 'Fuí a ver si llovía 1 vez'
    : mensaje = `Fui a ver si llovía ${contador} veces`
;

console.log(mensaje);

var contador = 0;

const llueve = () => Math.random() < 0.25;

do {
contador += 1;
} while (!llueve());

if(contador === 1){
console.log(Fui a ver si llovia ${contador} vez.)
} else{console.log(Fui a ver si llovia ${contador} veces.)
}

var contador = 0

const llueve = () => Math.random() < .25

do {
  contador ++
} while (!llueve())

if (contador < 2){
  repeticion = 'vez'
} else {
    repeticion = 'veces'
  }

console.log(`Fui a ver si llovía ${contador} ${repeticion}`);```
<if (contador === 1)
{
    console.log(`fui ${contador} vez y llovio`)
}
else{
    console.log(`fui ${contador} veces a ver si llovia`)

}>

Casi que no la logro jaja

Recordemos que a la hora de comparar es una buena práctica utilizar el triple igual 😃

var contador = 0
const llueve = () => Math.random() < 0.25

do {
	contador++
} while (!llueve())

if(contador === 1) {
	console.log(`Fui a ver si llovía ${contador} vez`)
} else {
	console.log(`Fui a ver si llovía ${contador} veces`)
}

Mi aporte a esta clase… Me sorprendo cuando vengo inspirado.


var contador = -1

// Función que determina si juanito a molestado a su hermano (lo probabilidad es del 25%)
const joder = () => Math.random() <= 0.25

console.log('Hola soy juanito, me considero un niño latoso')

// Comienza el día..
// El iterador terminará si juanito ha dejado de molestar a su hermano.

// El cuerpo de la estructura Do-While se ejecuta por lo menos una vez... En este sentido, se entiende que el contador se haya inicializado en -1
do {
    contador++
} while(! joder())

if(contador === 0) {
    console.error('Hoy no moleste a mi hermano')
} else {
    // Emplear el operador ternario para trabajar todo lo referente a palabras en singular o plural
    console.warn(`El día de hoy moleste a mi hermano ${contador} ${contador > 1 ? 'veces' : 'vez'}`)
}
var contador = 0;

const llueve = () => Math.random() < 0.25;

do {
    contador ++;
} while (!llueve());

var strVeces = contador === 1 ? 'vez' : 'veces';

console.log(`fui a ver si llovia ${contador} ${strVeces}`);```
var contador=0

const llueve=()=>Math.random()<0.25

do {
  contador++
}while(!llueve())
if (contador===1){console.log(`Fui a ver si llovia ${contador} ves.`);}
else {console.log(`Fui a ver si llovia ${contador} veces.`);}

reto:

var counter = 0;

const raining = () => Math.random() < 0.25;

do {
  counter++
} while (!raining())

if (counter === 1) {
  console.log(`Fui a ver si llovia ${counter} vez`);
} else {
  console.log(`Fui a ver si llovia ${counter} veces`);
}

Reto:

var contador = 0

const llueve = () => Math.random() < 0.25
var veces = 'veces'

do {
    contador +=1
}while (!llueve())

//reto
if (contador === 1) {
    veces = 'vez'
}

console.log(`Fui a ver si llovia ${contador} ${veces}`)

Dejo mi aporte, recuerden que el codigo duplicado es considerado EVIL

var counter = 0
var times = 'vez'

const llueve = () => Math.random() < 0.25

do {
    counter++
} while (!llueve())

if (counter !== 1) {
    times = 'veces'
} 

console.log(`fui a ver si llovia ${counter} ${times}`)

var contador = 0

const llueve = () => Math.random() < 0.25

do{
    contador++
}while(!llueve())

if(contador ===1){
    console.log(`Fui a ver si llovia ${contador} vez`)
}else{
    console.log(`Fui a ver si llovia ${contador} veces`)
}

Propuesta del reto:

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve())

if (contador === 1) 
    var msg = 'vez'
else
    var msg =  'veces'

console.log(`Fui a ver si llovía ${contador} ${msg}`)

Así me quedó, veo que similar a Johan.

var counter = 0
const rain = () => Math.random() < 0.25
do {
	counter++
} while(!rain())
console.log(`Fuí a ver si llovía ${counter} ${counter > 1 ? 'veces' : 'vez'}.`)

Listo!

Aunque ahora veo que es igual al de todos xD

var contador = 0;

const llueve = () => Math.random() < 0.25

do {
  contador ++
}
while (!llueve())
if (contador === 1){
  console.log(`Fuí a ver si llovia ${contador} vez `)
}
else{
  console.log(`Fuí a ver si llovia ${contador} veces `)
}

Otra forma de resolver el reto:

var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++
} while(!llueve())

var veces = (contador != 1) ? 'veces' : 'vez'

console.log(`Fui a ver si llovia ${contador} ${veces}`)```
if (contador == 1){
    console.log(`Fui a ver si llovia ${contador} vez`)
} else {
    console.log(`Fui a ver si llovia ${contador} veces`)

}
<code>var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve());
if (contador == 1) {
    console.log(`Fui a ver si llueve ${contador} vez`)
}else{
    console.log(`Fui a ver si llueve ${contador} veces`)
}

var contador = 0

const llueve = () => Math.random() < 0.25 //arrow function

do {
	contador++
} while (!llueve())

if (contador != 1) {
	console.log(`Fui a ver si llovía ${contador} veces`)
} else {
	console.log(`Fui a ver si llovía ${contador} vez`)
}

Operador condicional (ternario)
El operador condicional (ternario) es el único operador en JavaScript que tiene tres operandos. Este operador se usa con frecuencia como atajo para la instrucción if.

var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

console.log(`Fui a ver si llovía ${contador} ${contador==1?'vez':'veces'}.`);

// TODO: corregir que cuando solo fui a ver 1 vez llover
// diga 1 vez y no 1 veces
var contador = 0 

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve())

if (contador === 1){
    console.log(`Fui a ver si llovia ${contador} vez`)
}else {
    console.log(`Fui a ver si llovia ${contador} veces`)
}

let contador = 0;
const llueve = () => Math.random() < 0.25;

do {
    contador++
} while (!llueve())

let veces = contador === 1 ? 'vez' : 'veces';

console.log(`Fui a ver si llovía ${contador} ${veces}`);

😃

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve())


var frase = (contador === 1) ? `Fui a ver si llovía ${contador} vez` :
    `Fui a ver si llovía ${contador} veces`

console.log(frase)

var counter = 0

const llueve = () => Math.random() < 0.25

do{
    counter++
}while(!llueve())

(counter == 1) ? console.log(`Fui a ver si llovia ${counter} vez`) : console.log(`Fui a ver si llovia ${counter} veces`

Desafío…

var contador = 0

const llueve = () => Math.random() < 0.25

do {
	contador++
} while(!llueve())

if(contador === 1) {
	console.log(`Fui a ver si llovia ${contador} vez`)
} else {
	console.log(`Fui a ver si llovia ${contador} veces`)
}

Este es mi solución al ejercicio 😉

if (contador === 1) {
  cantidad = `1 vez`;
} else {
  cantidad = `${contador} veces`;
}

console.log('Fui a ver si estaba lloviendo ' + cantidad);

Por acá dejo mi ejercicio:


var contador = 0;

const llueve = () => { return Math.random() < 0.25 };

do {
    contador++;
} while (!llueve());

var veces = ( contador === 1 ) ? "vez" : "veces";

console.log(`Fui a ver si llovía ${contador} ${veces}`);

Yo hice uso del conditional (ternary) operator que es un “if - else” de una sola linea.

Para más info ver este link: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

var contador = 0

const MARRANO = () => Math.random() < 0.85

do {
    contador++
} while (!MARRANO())

if (contador > 1) {
    console.log(`fui a ver ${contador} veces si ya puso la marrana`)
} else {
    console.log(`fui a ver ${contador} vez si ya puso la marrana`)
}


Lo resolví de la siguiente manera:

var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

console.log(
  `Fui a ver si llovía ${contador} ${
    contador === 1 ? 'vez' : 'veces'
  }`
)```

ESTRUCTURAS REPETITIVAS: do-while

La estructura do-while crea un bucle que ejecuta una sentencia especificada, hasta que la condición de comprobación se evalúa como falsa. La condición se evalúa después de ejecutar la sentencia, dando como resultado que la sentencia especificada se ejecute al menos una vez.
Bien, ahora crearemos una estructura que nos diga cuantas veces nos asomamos a ver si llueve, por lo que iniciaremos este ejemplo con un contador, luego crearemos una función que se llamará “llueve” y que llueva de manera aleatoria, por lo que entonces será;

var contador = 0

const llueve = () => Math.random() < 0.25

Ahora, vamos a agregar debajo de esto la palabra “do” y abriremos llaves, acá el ejemplo de como debe ir e iremos desglosando el código para su explicación.

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while(!llueve()) {
    if (contador == 1) {
        console.log(`Fui a ver si llovio ${contador} vez`)
        
    } else {
        console.log(`Fui a ver si llovia ${contador} veces`)
    }
}

Luego hacer el “do” dentro de las llaves, le diremos a contador que aumente su valor en 1 por cada vez que llueva, por lo que podemos hacer lo siguiente;
Agregar

    contador++

o poedemos agregar

    contador += 1

que el primero es lo mismo que el segundo.
Luego de esto agregaremos la función while que nos dira que mientras no se cumpla la condición de que pare de llover, no se ejecutara el siguiente código, por lo que colocaremos “while (!llueve())” luego de las llaves de “do”, para indicarle lo explicado. Para que quede de la siguiente manera
do {
contador++
} while(!llueve())

Ahora para los efectos de la consola agregaremos las condicionales

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while(!llueve()) {
    if (contador == 1) {
        console.log(`Fui a ver si llovio ${contador} vez`)
        
    } else {
        console.log(`Fui a ver si llovia ${contador} veces`)
    }
}

Para que quede de esta manera, usamos en “if (contador == 1)” porque queremos que nos diga que si llueve una vez “Fui a ver si llovió 1 vez” y en las demás nos diga que fue a ver que llovía cierta cantidad de veces.

aquí esta mi código atte: EL (debugger) me dio un súper poder diría Fredy fu** yeah!

var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++

} while (!llueve())

if (contador===1) {
console.log(` Fui a ver si llovía ${contador} vez`)
}
else {
  console.log(`fui a ver si llovia ${contador} veces`)

}
var contador = 0 
const llueve = () => Math.random() < 0.25

do {
    contador += 1
} while (!llueve())

if (contador === 1){
    console.log(`Fui a ver si llovía una vez`)
}else {
    console.log(`Fui a ver si llovia ${contador} veces`)
}

Hola. comparto mi aporte:

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve());

if (contador === 1){
    console.log(`Fui a ver si llovía ${contador} vez`);
} else {
    console.log(`Fui a ver si llovía ${contador} veces`);
}

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve());

if(contador === 1){
    console.log(`Fui  a ver si llovia ${contador} vez`)
} else{
    console.log(`Fui  a ver si llovia ${contador} veces`)
}

Pueden hacerlo en una linea con un ternario

console.log ( `fui a ver si llovia ${contador}  ${contador>1?'veces':'vez'}`)

let contador = 0;

const llueve = () => Math.random() < 0.25;

do{
contador ++
}while(!llueve());

if (contador > 1){
console.log(Fuí a ver si llovia ${contador} veces);
}else{
console.log(Fuí a ver si llovia ${contador} vez);
}

![](

var contador = 0

const llueve = () => Math.random() < 0.25

do{
    contador++
}while(!llueve())

contador === 1 ? console.log(`Fuí a ver si llovia ${contador} vez`) : console.log(`Fuí a ver si llovia ${contador} veces`)```

Yo le cree una Variable para que definiera!

var contador = 0
var n
const llueve = () => Math.random() < 0.25

do {
    contador +=1
} while(!llueve())

if (contador>1){
    n= "veces"
}else{
    n= "vez"
}
console.log(`Fui a ver si llovia ${contador} ${n}`)

Yo puse un if como condicíon para que se muestre uno u otro caso.

![](

<code>
var contador = 0

const llueve = () => Math.random() < 0.25

do{
    contador++
} while (!llueve())

if (contador === 1)
    console.log('Fui a ver si llovia una vez')
else
    console.log(`Fui a ver si llovia ${contador} veces`)
var contador = 0

const llueve = () => Math.random() < 0.25

//Está estructura se realiza al menos una vez
do {
    contador ++
} while (!llueve())

if (contador > 1){
console.log(`Fui a ver si llovía ${contador} veces.`)
}else{
    console.log(`Fui a ver si llovía una vez.`)
}```

var contador = 0

const llueve = () => Math.random() < 0.25

do{
contador++
} while(!llueve())

if (contador === 1){
console.log(Fui a ver si llovia una vez)
}else {
console.log(Fui a ver si llovia ${contador} veces)
}

var contador = 0

const llueve = () => Math.random() < 0.25

do {
    contador++
} while (!llueve())

if (contador === 1) {
    console.log(`Fui a ver si llovía ${contador} vez`)
} else {
    console.log(`Fui a ver si llovía ${contador} veces`)
}```

aquí esta mi reto, use una arrow function con un if y despues llame la funcion:

use: condicion ? respuesta si la condicion es verdadera : respuesta si la condicion es falsa
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
var contador = 0
const llueve = () => Math.random() < 0.25
const verSiLlovia = () => contador>1 ? console.log(Fui a ver si llovia ${contador} veces) : console.log(Fui a ver si llovia ${contador} vez)
// do se ejecuta hasta que la condicion while se cumpla eneste caso
// la condicion es que la funcion llueve() sea falsa
do {
contador++
} while (!llueve())

verSiLlovia()

var contador = 0
var expresion = 'vez'

const llueve = () => Math.random() < 0.25

do{
	contador++
}while(!llueve())

if (contador>1) {expresion = 'veces'}
console.log(`Fui a ver llover ${contador} ${expresion}`)
var contador = 0

const llueve = () => Math.random() < 0.25

do {
  contador++
} while (!llueve())

if (contador === 1) {
  console.log(`Fui a ver si llovía ${contador} vez`)
}else {
  console.log(`Fui a ver si llovía ${contador} veces`)
}

var contador = 0

const llueve = () => Math.random() < 0.3

do {
  contador++
}
while (!llueve())

if (contador === 1) {
  console.log (`Fui a ver si llovía ${contador} vez`)
}
else {console.log (`Fui a ver si llovía ${contador} veces`) }

El reto:

var contador = 0

var llueve = () => Math.random() < 0.25

do{
    contador++
} while(!llueve())

if(contador === 1){
    console.log(`Fui a ver si llovía ${contador} vez`)
} else{
    console.log(`Fui a ver si llovía ${contador} veces`)
} ```