Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

214
Visualizações
FizzBuzz, ¿es posible acortar mi solución?

Traté de hacer 3 condiciones en una matriz. array.forEach , pero esto me da un resultado incorrecto. ¿Es posible acortar mi código a un array.forEach ? ¿Tiene 3 condiciones dentro de él?

 var array = []; // create empty array for (var i = 1; i < 101; i++) { array.push(i); // write in array all values of i, each iteration } array.forEach((number) => { if (array[number] % 3 === 0 && array[number] % 5 === 0) { array[number] = "FizzBuzz"; } }); array.forEach((number) => { // if (array[number] % 3 === 0) { array[number] = "Fizz"; } }); array.forEach((number) => { if (array[number] % 5 === 0) { array[number] = "Buzz"; } }); for (let i = 0; i < array.length; i++) { //output array elements console.log(array[i]); }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Primer puntero: eso es mucho espacio en blanco.

Segundo puntero, en lugar de crear una matriz y luego recorrer esa matriz, puede hacerlo todo en un ciclo, usando el bloque if....else ; algo como esto:

 for (var i = 1; i < 101; i++) { if (i % 3 === 0 && i % 5 === 0) { console.log("FizzBuzz"); } else if (i % 3 === 0) { console.log("Fizz"); } else if (i % 5 === 0) { console.log("Buzz"); } else { console.log(i); } }
about 4 years ago · Juan Pablo Isaza Relatório

0

Está "caminando sobre" la matriz varias veces.

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

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda