Pessoal, estava desenvolvendo um algoritmo de um desafio do freecodecamp ( esse aqui: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range ), que consistia em uma função que recebia um array de dois numeros como parametro e devolvia a soma dos numeros entre esses dois. eu tentei o seguinte código: function sumAll(arr) { let total = 0; let i = Math.min(arr[0], arr[1]); while (i <= Math.max (arr[0], arr[1])) { i++; total += i;
}
return total;
}
sumAll([1, 4]); //aqui é só uma chamada da função
Pois bem, não funciona, devia dar 10, mas da 14. Porém usando o for no eguinte código:
function sumAll(arr) {
let total = 0;
for (let i = Math.min(arr[0], arr[1]); i <= Math.max(arr[0], arr[1]); i++) {
total += i;
}
return total;
}
sumAll([1, 4]);
Dá certo, 10. Eu só queria saber por que um da certo e o outro não. Fico agradecido desde já.