Elementor Header #8

64. Возврат из циклов

Возврат из циклов — это возможность завершить выполнение цикла до его естественного завершения. В JavaScript есть несколько способов контролировать поток выполнения циклов, включая использование операторов break, continue и return. Каждый из них имеет свою цель и применимость.

В этом уроке мы рассмотрим, как использовать эти операторы для управления выполнением циклов и как правильно применять их для решения различных задач.

Оператор break

Оператор break завершает выполнение текущего цикла и выходит из него. Он используется, когда нужно прервать цикл досрочно на основе определённого условия.

Пример использования break:

				
					for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break; // Завершает цикл, когда i равно 5
    }
    console.log(i);
}

// Вывод: 0 1 2 3 4

				
			

В этом примере цикл for завершится, когда переменная i достигнет значения 5. Оператор break немедленно прерывает выполнение цикла.

Оператор continue

Оператор continue пропускает оставшуюся часть кода в текущей итерации цикла и переходит к следующей итерации. Он используется, когда нужно пропустить некоторые итерации цикла на основе определённого условия.

Пример использования continue:

				
					for (let i = 0; i < 10; i++) {
    if (i % 2 === 0) {
        continue; // Пропускает текущую итерацию, если i четное
    }
    console.log(i);
}

// Вывод: 1 3 5 7 9

				
			

В этом примере цикл for пропускает вывод чётных чисел, так как условие i % 2 === 0 выполняется, и оператор continue переходит к следующей итерации.

Оператор return в циклах

Оператор return используется внутри функций для завершения их выполнения и возврата значения. Если он используется в цикле внутри функции, он также завершает выполнение функции, а не только цикла.

Пример использования return в функции с циклом:

				
					function findFirstEvenNumber(numbers) {
    for (let i = 0; i < numbers.length; i++) {
        if (numbers[i] % 2 === 0) {
            return numbers[i]; // Возвращает первое чётное число и завершает выполнение функции
        }
    }
    return null; // Возвращает null, если чётное число не найдено
}

let nums = [1, 3, 5, 6, 7];
console.log(findFirstEvenNumber(nums)); // Вывод: 6

				
			

В этом примере функция findFirstEvenNumber возвращает первое чётное число из массива и завершает выполнение функции, когда находит подходящее значение.

Распространённые ошибки

Использование break и continue за пределами циклов

Ошибка: Попытка использования операторов break или continue вне цикла.

				
					if (true) {
    break; // Ошибка: `break` используется вне цикла
}

				
			

Исправление: Убедитесь, что break и continue используются внутри циклов.

Неправильное использование continue в циклах

Ошибка: Пропуск выполнения важного кода в цикле из-за continue.

				
					for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue;
    }
    console.log(i); // Ошибка: не будет выполнено для i = 2
}

				
			

Исправление: Проверьте, что continue не пропускает выполнение важного кода.

Неправильное использование return в цикле

Ошибка: Завершение выполнения функции до того, как цикл завершится полностью.

				
					function sumUntilFive(numbers) {
    let sum = 0;
    for (let num of numbers) {
        if (num > 5) {
            return sum; // Ошибка: может вернуться до завершения цикла
        }
        sum += num;
    }
    return sum;
}

				
			

Исправление: Убедитесь, что return используется в нужное время и не прерывает выполнение функции до завершения необходимых операций.

Заключение

Операторы break, continue и return являются важными инструментами для управления выполнением циклов и функций в JavaScript. Правильное использование этих операторов позволяет эффективно контролировать поток выполнения кода и избегать нежелательных результатов.

Тестовое задание

  1. Напишите цикл for, который выводит числа от 1 до 10. Используйте оператор break, чтобы завершить цикл, когда число 6 будет достигнуто.

  2. Создайте цикл for для массива чисел от 1 до 10. Используйте оператор continue, чтобы пропустить вывод всех чисел, которые делятся на 3.

  3. Реализуйте функцию findFirstNegativeNumber, которая принимает массив чисел и возвращает первое отрицательное число. Если отрицательное число не найдено, функция должна вернуть null. Используйте оператор return внутри цикла для выхода из функции при нахождении отрицательного числа.

  4. Напишите функцию sumOddNumbers, которая принимает массив чисел и возвращает сумму всех нечетных чисел в массиве. Используйте оператор continue для пропуска чётных чисел.

Решите все задания, чтобы практиковаться в формировании строк в циклах и избегать распространённых ошибок.

logo