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

260
Visualizações
¿Cómo enumerar eficientemente una matriz como una cadena en orden?

¡Esta es la primera pregunta que me hacen en este sitio en mi viaje como desarrollador!

Tengo una matriz - const dataOne = [17, 21, 23];

Necesito enumerar los valores en esta matriz para que se vea así cuando inicie sesión en la consola:

"17°C en 1 día, 21°C en 2 días, 23°C en 3 días"

El siguiente código registra exactamente lo que quiero, pero sé que esta no es la forma más eficiente de hacerlo. ¿Hay una forma "más limpia" o mejor de hacer esto sin codificar la matriz en la declaración de devolución? Ej: ${arr[i +1]}

 const dataOne = [17, 21, 23]; const printForecast = function(arr) { for (let i = 0; i < arr.length; i++) { return `${arr[i]}°C in ${i + 1} day, ${arr[i + 1]}°C in ${i + 2} days, ${arr[i + 2]}°C in ${i + 3} days`; } }; console.log(printForecast(dataOne));

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Simplemente puede usar el mapa y unirse para lograr el resultado deseado

Esta es la forma más limpia de lograrlo. En este enfoque, no tiene que rastrear dónde debe colocar la coma ( , ). Simplemente map sobre la matriz y luego join con , simple

 const dataOne = [17, 21, 23]; const printForecast = function (arr) { return arr.map((t, i) => `${t}°C in ${i + 1} day${i !== 0 ? "s" : ""}`) .join(", "); }; console.log(printForecast(dataOne));

Si desea utilizar reducir, puede hacerlo como:

 const dataOne = [17, 21, 23, 25]; const printForecast = function (arr) { return dataOne.reduce((agg, x, index, src) => (agg += `${x}°C in ${index + 1} day${index !== 0 ? "s" : ""}${ index !== src.length - 1 ? ", " : ""}`),""); }; console.log(printForecast(dataOne));

about 4 years ago · Juan Pablo Isaza Relatório

0

En primer lugar, si el código funciona para ti y lo entiendes, es lo suficientemente bueno. Intente optimizar más tarde cuando esté muy familiarizado con los conceptos básicos.

Por el bien de esta pregunta, puede usar .reduce() para resolver el problema. Se utiliza para iterar sobre los valores a agregar y devolver un único resultado calculado.

 const dataOne = [17, 21, 23, 25]; const printForecast = function(arr) { let newString = dataOne.reduce((agg, x, index) => { if (index === 0) { agg = agg + x + '°C in ' + (index + 1) + ' day'; } else { agg = agg + ', ' + x + '°C in ' + (index + 1) + ' days'; } return agg; }, ''); return newString } console.log(printForecast(dataOne));

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