Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsPmFBRLA 211 of 505 menu
Хочешь читать code.mu на своем родном языке? Помоги с переводом! Переведем мы сами, тебе нужно указать на ошибки перевода:) Оставляй заявку ->

Применение return в циклах в JavaScript

То, что return расположен внутри цикла, не всегда может быть ошибкой. В следующем примере сделана функция, которая определяет, сколько первых элементов массива нужно сложить, чтобы сумма стала больше или равна 10:

function func(arr) { let sum = 0; for (let i = 0; i < arr.length; i++) { sum += arr[i]; // Если сумма больше или равна 10: if (sum >= 10) { return i + 1; // выходим из цикла и из функции } } } let res = func([1, 2, 3, 4, 5]); console.log(res);

А в следующем примере сделана функция, которая вычисляет, сколько целых чисел, начиная с 1, нужно сложить, чтобы результат был больше 100:

function func() { let sum = 0; let i = 1; while (true) { // бесконечный цикл sum += i; if (sum >= 100) { return i; // цикл крутится пока не выйдет тут } i++; } } console.log( func() );

Напишите функцию, которая параметром будет принимать число и делить его на 2 столько раз, пока результат не станет меньше 10. Пусть функция возвращает количество итераций, которое потребовалось для достижения результата.

byenru