Utilisation de return dans les boucles en JavaScript
Le fait que le return soit situé à l'intérieur d'une boucle
n'est pas toujours une erreur. L'exemple
suivant présente une fonction qui détermine
combien des premiers éléments d'un tableau doivent être additionnés
pour que la somme devienne supérieure ou égale à 10 :
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Si la somme est supérieure ou égale à 10 :
if (sum >= 10) {
return i + 1; // on sort de la boucle et de la fonction
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
L'exemple suivant présente une fonction qui
calcule combien d'entiers, en commençant par
1, doivent être additionnés pour que le résultat
soit supérieur à 100 :
function func() {
let sum = 0;
let i = 1;
while (true) { // boucle infinie
sum += i;
if (sum >= 100) {
return i; // la boucle tourne jusqu'à sortir ici
}
i++;
}
}
console.log( func() );
Écrivez une fonction qui prendra un nombre en paramètre
et le divisera par 2
autant de fois que nécessaire jusqu'à ce que le résultat devienne inférieur
à 10. La fonction doit retourner le nombre
d'itérations qui ont été nécessaires pour atteindre
le résultat.