Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

387
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!