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

180
Views
JavaScript para bucle interiorHTML

Estoy tratando de recorrer algunos objetos. El código parece funcionar parcialmente, ya que puedo ver los datos que llenan la tarjeta, pero muestra solo el último objeto de los datos daily (que, por cierto, es un montón de objetos) 8 para ser precisos (que no estoy seguro de por qué, ya que hay 7 días a la semana) Leí en alguna parte que imprimir el último objeto es en realidad el comportamiento esperado.

Lo que no se es como solucionarlo.

¿Cómo muestro todos estos objetos?

 function populateDailyData(data) { for (i = 0; i < data.daily.length; i++) { let daily = data.daily[i]; let dailyDescription = daily.weather[0].description; let dailyTempMin = daily.temp.min; let dailyTempMax = daily.temp.max; let dailyWeather = document.getElementById('daily-weather'); dailyWeather.innerHTML = ` <div class="card col-lg-2 col-6"> <div class="card-body"> <div class="description"> <h4 class="titleXS-regular tertiary">${dailyDescription}</h4> </div> <div class="flex horizontal details space8"> <h3 class="titleXS primary">${Math.round(dailyTempMin) + '°'}</h3> <h3 class="titleXS primary">${Math.round(dailyTempMax) + '°'}</h3> </div> </div> </div> `; } }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

necesitas concatenar tu html

 function populateDailyData(data) { var dailyWeather = document.getElementById('daily-weather'); var html = ''; for (i = 0; i < data.daily.length; i++) { let daily = data.daily[i]; let dailyDescription = daily.weather[0].description; let dailyTempMin = daily.temp.min; let dailyTempMax = daily.temp.max; html += `<div class="card col-lg-2 col-6"> <div class="card-body"> <div class="description"> <h4 class="titleXS-regular tertiary">${dailyDescription}</h4> </div> <div class="flex horizontal details space8"> <h3 class="titleXS primary">${Math.round(dailyTempMin) + '°'}</h3> <h3 class="titleXS primary">${Math.round(dailyTempMax) + '°'}</h3> </div> </div> </div>`; } dailyWeather.innerHTML = html;

}

about 4 years ago · Juan Pablo Isaza Report

0

map la matriz para compilar una nueva matriz de HTML basada en una cadena de plantilla, join y luego usar insertAdjacentHTML para agregarla a la página de inmediato.

 const data = [{ name: 'Bobby Davro', age: 2 }, { name: 'Sue', age: 92 }, { name: 'Debbie', age: 25 }]; // `map` over the data to produce a new array // of HTML using template strings, then `join` // all the elements up into one HTML string const html = data.map(obj => { return ` <div> <span class="name">Name: ${obj.name}</span> <span class="age">Age: ${obj.age}</span> </div> `; }).join(''); const { body } = document; // Add it to the page body.insertAdjacentHTML('beforeend', html);
 .name { color: red; } .age { color: blue; }

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!