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

232
Vistas
Pregunta básica de Fizzbuzz: cómo insertar elementos reemplazados en una matriz vacía en lugar de simplemente imprimirlos

Entonces estoy tratando de resolver

Cree una función fizzbuzz que tome un número, n. fizzbuzz debe recorrer los números del 1 al n e insertar cada número en la matriz de resultados usando las siguientes reglas:

  1. Empuje la cadena "fizz" en lugar de números divisibles por 3.
  2. Empuje la cadena "zumbido" en lugar de números divisibles por 5.
  3. Empuje la cadena "fizzbuzz" en lugar de números divisibles por 3 y 5.

Ejecute la prueba console.log para verificar su trabajo. "

Mi código se encuentra a continuación

 const results = []; const fizzbuzz = (n) => { for (let i = 1; i <= n; i++) { let str = ""; if (i % 3 === 0) str += "fizz" if (i % 5 === 0) str += "buzz" if (str === "") str = i; console.log(str); } }

Realmente no sé cómo cambiar mis resultados para que estén dentro de la matriz "resultados". Mi suposición es usar array.push pero no sé dónde incluirlo en el código.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Solo necesita declarar su matriz en blanco dentro de su función, usar el método Array push y luego devolver la matriz al final de la función.

 const fizzbuzz = (n) => { const results = []; for (let i = 1; i <= n; i++) { let str = ""; if (i % 3 === 0) str += "fizz" if (i % 5 === 0) str += "buzz" if (str === "") str = i; results.push(str); } return results; }

Solo por diversión, aquí hay una mejor manera de resolverlo usando operadores ternarios . Este método solo requiere 2 comprobaciones.

 const fizzbuzz = (n) => { const results = []; for (let i = 1; i <= n; ++i) { results.push( i % 3 === 0 ? (i % 5 === 0 ? 'fizzbuzz' : 'fizz') : (i % 5 === 0 ? 'buzz' : i) ); } return results; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Al contrario de lo que dije en mi comentario a la respuesta de @ruleboy, ahora proporcioné una versión muy "nerd" de fizzbuzz sin usar el operador de módulo en absoluto.

En mi fragmento utilizo tres contadores: i , n3 y n5 . El resultado no es fácil de leer , por lo que nunca recomendaría usarlo en ningún código de producción . Pero pensé que podría ser entretenido echarle un vistazo, no obstante:

 function fizzbuzz(n){ const results = []; for (let i=1,n3=2,n5=4; i<=n; ++i,n3--?0:n3+=3,n5--?0:n5+=5) { results.push(n3?n5?i:"buzz":"fizz"+(n5?"":"buzz")); } return results; } console.log(fizzbuzz(30))

La expresión n3--?0:n3+=3,n5--?0:n5+=5 decrementa los contadores n3 y n5 . Cada vez que cualquiera de los contadores alcanza el valor -1 (p. ej.: n3--==false ) vuelvo a agregar el valor máximo a cada contador (3 o 5). Muy nerd, como ya mencioné anteriormente. :D

about 4 years ago · Juan Pablo Isaza Denunciar

0

Desea agregarlo a la matriz cada vez que lo imprima, así que llame a push en lugar de a console.log() :

 const results = []; const fizzbuzz = (n) => { for (let i = 1; i <= n; i++) { let str = ""; if (i % 3 === 0) str += "fizz" if (i % 5 === 0) str += "buzz" if (str === "") str = i; results.push(str) //Adding to array instead } }
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