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

218
Visualizações
¿Cómo puedo iterar a través de una matriz?

Tengo una matriz llamada tablas que necesito iterar, pero en mi código actual está iterando y luego deteniéndose en el primer índice de la matriz ignorando el resto de los valores de la matriz.

Mi código:

 async function scrapeSiteYield(){ var yield = []; var country = []; const yieldResult = await axios.get("https://tradingeconomics.com/forecast/government-bond-10y"); const $ = cheerio.load(yieldResult.data); var tables = ["8","12","16","20","24"]; var count = 1; tables.forEach(function (item, index) { var scrapeStatus = false; while (!scrapeStatus) { var res = {}; $(`#aspnetForm > div.container > div > div > div:nth-child(${item}) > div > table > tbody > tr:nth-child(${count}) > td.datatable-item-first`).each((index, element) => { console.log(item); console.log($(element).text().trim()); res.country = $(element).text().trim(); }); if (res.country == null || res.country === undefined) { scrapeStatus == true; break; } else{ count++; yield.push(res); } } }); } scrapeSiteYield();

mi resultado:

 8 UK 8 Germany 8 Russia 8 Italy 8 France 8 Switzerland 8 Czech Republic 8 Ireland 8 Portugal

Entonces, los valores 12,16,20,24 en mi matriz de tablas no se iteran, ¿cómo puedo solucionar esto?

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

0

En realidad, nunca asigna true a scrapeStatus .

este codigo

 if (res.country == null || res.country === undefined) { scrapeStatus == true; break; }

Debería verse así:

 if (res.country == null || res.country === undefined) { scrapeStatus = true; }

1- La cláusula while se romperá cuando scrapeStatus sea verdadero de acuerdo con su código. No es necesario agregar un descanso.

2- Asigne true a scrapeStatus en lugar de verificar si es true .

about 4 years ago · Juan Pablo Isaza Relatório

0

Tienes dos bucles. El bucle jQuery each() está dentro del bucle tables.forEach() , lo que significa que recorrerá todos los elementos con el mismo elemento de la matriz de tablas.

Para solucionar esto, debe itirar la matriz de tablas dentro del bucle each() , algo así:

 elements.each((index, element) => { let tableIndex = 0; if(index < tables.length){ tableIndex = index; } console.log(tables[tableIndex]); console.log($(element).text().trim()); res.country = $(element).text().trim(); });
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