Ajuda com algorítimo de contagem [RESOLVIDO]

1. Ajuda com algorítimo de contagem [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 04/07/2018 - 11:19h

Olá,
estou apanhando para criar um algorítimo evitando a redundância, em uma variável recebo um número que é o total de requisições que precisarei fazer, o sistema só pode fazer 100 requisições por vez, então preciso verificar o total e fracionar as requisições de 0-99, 100-199 e por aí vai até o total.
Estou fazendo assim, mas está havendo muita redundância e também se tiver mais de 300, 500, 1000, vou ter que replicar varias vezes o if, mas não consegui pensar numa maneira melhor:
	var total = retorno.paging.total;
if (total>99){
console.log("baixando 0 a 99");
baixar(0,99);
if (total>199){
console.log("baixando 100 a 199");
baixar(100,199);
}else{
console.log("baixando 100 a "+total);
baixar(100,total);
}
}else{
console.log("baixando 0 a "+total);
baixar(0,total);
}



  


2. MELHOR RESPOSTA

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 04/07/2018 - 12:59h

Daniel,

Você pode dividir a variável total-1 por 100, depois utilizar a função Math.trunc() para saber quantas vezes terá que chamar a função baixar().
Após saber quantas vezes irá chamar a função baixar(), utilize um laço for().
Veja esse código abaixo, espero que te atenda.

<!DOCTYPE html>
<head></head>
<body>
<script type="text/javascript">
function baixar(n1, n2) {
console.log('Ok! ' + n1 + ' até ' + n2);
}

var total = 250;
var lotesConsultas = Math.trunc((total-1)/100);

for(i=0;i<=lotesConsultas;i++) {
if (i<lotesConsultas) {
console.log('Baixando de ' + i*100 + ' até ' + (((i+1)*100)-1));
baixar(i*100, (((i+1)*100)-1));
} else {
console.log('Baixando de ' + i*100 + ' até ' + (total-1));
baixar(i*100, (total-1));
}
}
</script>
</body>

Abraço,
Diego M. Rodrigues

3. Re: Ajuda com algorítimo de contagem [RESOLVIDO]

Daniel P. L. Almeida
daniel.uramg

(usa Outra)

Enviado em 04/07/2018 - 15:15h

Diego, exatamente o que preciso, obrigado!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts