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

80
Visualizações
Para contadores de bucle X de Y

Tengo esta matriz standings

 { pos: 1, competitor_id: 583, rating: 2049, tier: 1 }, { pos: 2, competitor_id: 862, rating: 1818, tier: 1 }, { pos: 3, competitor_id: 67, rating: 1762, tier: 1 }, { pos: 4, competitor_id: 758, rating: 1750, tier: 1 }, { pos: 5, competitor_id: 713, rating: 1735, tier: 1 }, { pos: 6, competitor_id: 868, rating: 1730, tier: 1 }, { pos: 7, competitor_id: 946, rating: 1706, tier: 2 }, { pos: 8, competitor_id: 893, rating: 1705, tier: 2 }, { pos: 9, competitor_id: 731, rating: 1695, tier: 2 }, { pos: 10, competitor_id: 869, rating: 1692, tier: 2 }, { pos: 11, competitor_id: 998, rating: 1672, tier: 2 }, { pos: 12, competitor_id: 968, rating: 1661, tier: 2 }, { pos: 13, competitor_id: 460, rating: 1656, tier: 2 }, { pos: 14, competitor_id: 879, rating: 1648, tier: 2 }, { pos: 15, competitor_id: 969, rating: 1631, tier: 2 }, { pos: 16, competitor_id: 925, rating: 1629, tier: 2 }, { pos: 17, competitor_id: 999, rating: 1626, tier: 2 }, { pos: 18, competitor_id: 991, rating: 1619, tier: 2 }, { pos: 19, competitor_id: 956, rating: 1618, tier: 2 }, { pos: 20, competitor_id: 711, rating: 1617, tier: 2 }, { pos: 21, competitor_id: 964, rating: 1616, tier: 2 },

Quiero incrementar el tier en uno cada vez que bajamos 6 filas. Como puede ver arriba, cambia al nivel 2 correctamente pero no se incrementa a 3 en la posición: 13 y al nivel 4 en la posición: 19

Lo intenté

 const tiersize = 6; // setting the counters let tiercounter = 1; let limit = tiersize; // running the loop for (const row of standings) { await connectionPromise .query({ sql: 'update table set tier = ? where competitor_id = ?' }, [tiercounter, row.competitor_id], ); if (row.pos == limit) { tiercounter += 1; limit += tiersize; } }

¿Qué estoy haciendo mal?

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

0

Está actualizando la base de datos, pero no está actualizando también la matriz. Agregar row.tier = tiercounter; al bucle.

 const tiersize = 6; // setting the counters let tiercounter = 1; let limit = tiersize; // running the loop for (const row of standings) { await connectionPromise .query({ sql: 'update table set tier = ? where competitor_id = ?' }, [tiercounter, row.competitor_id], ); row.tier = tiercounter; if (row.pos == limit) { tiercounter += 1; limit += tiersize; } }

Pero en lugar de incrementar el tiercounter de niveles a medida que avanza, simplemente puede calcularlo desde pos .

 tiercounter = Math.floor((row.pos-1) / tiersize) + 1;

El código actualizado sería entonces:

 const tiersize = 6; // running the loop for (const row of standings) { let tiercounter = Math.floor((row.pos - 1) / tiersize) + 1; await connectionPromise .query({ sql: 'update table set tier = ? where competitor_id = ?' }, [tiercounter, row.competitor_id], ); row.tier = tiercounter; }
about 4 years ago · Juan Pablo Isaza Relatório

0

Estaba verificando el número de fila. pos con límite y el límite que estaba actualizando cada vez. Lo cual no tiene sentido con la condición. actualice la condición if como se muestra a continuación.

 for (const row of standings) { await connectionPromise .query({ sql: 'update table set tier = ? where competitor_id = ?' }, [tiercounter, row.competitor_id], ); if (row.pos % tiersize == 0) { tiercounter += 1; limit += tiersize; } }
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