Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

396
Vistas
¿Cómo funciona el algoritmo Fizzbuzz en JavaScript?

Quiero preguntar por qué cuando giro if (i % 3 === 0 && i % 5 === 0) {console.log("Fizz")}; en else if(i % 3 === 0 && i % 5 === 0) {console.log("Fizz")}; viceversa, solo obtengo Fizz y Buzz en console.log y no FizzBuzz a diferencia de cuando usé if. Espero el mismo resultado con else si creo que deberían ser iguales.

A continuación se muestra el guión completo como referencia.

 let answer = 100; for (let i = 1; i <= answer; i++) { if (i % 3 === 0 && i % 5 === 0) { console.log("FizzBuzz"); } else if (i % 5 === 0) { console.log("Buzz"); } else if (i % 3 === 0) { console.log("Fizz"); } else { console.log(i); } }
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

olvídate de las soluciones de la vieja escuela.

En mi humilde opinión, el método de matriz más importante para aprender es el mapa :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

Que "camina sobre" el Array y devuelve un nuevo valor para ese índice Array

 let arr = Array(100) .fill((x, div, label) => x % div ? "" : label) //store Function in every index .map((func, idx) => func(++idx, 3, "Fizz") + func(idx, 5, "Buzz") || idx ); document.body.append(arr.join(", "));

fill toma un solo objeto, ¡no se ejecuta 100 veces!
Dado que las funciones de JavaScript son objetos, este código declara una función una vez para cada índice

Tenga en cuenta el ++idx porque queremos comenzar en 1, no en 0

En JavaScript, ""+"" es un valor Falsy, por lo que devuelve el valor idx para números que no son de FizzBuzz

Más métodos de matriz explicados: https://array-methods.github.io

about 4 years ago · Juan Pablo Isaza Denunciar

0

Cuando usa else if, la condición if anterior tiene que ser falsa para que se verifique la condición else if (y su contenido posiblemente se ejecute).

De lo contrario, es solo una cadena de independientes si s.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No necesita considerar "ambos casos" por separado, como lo hace su código. En pseudocódigo:

 if (i is divisible by 3) { print "Fizz" } if (i is divisible by 5) { print "Buzz" }

Si ejecuta esto en papel, puede ver que imprimirá "FizzBuzz" al ejecutar ambas condiciones. Así que no está mal tener un caso especial para ambos, pero es más fácil (y más claro) hacerlo sin eso.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda