Як зламати цикли JavaScript і чому це може знадобитися

Ключові висновки

  • Цикли JavaScript необхідні для повторення коду, і розуміння їхнього синтаксису та нюансів має вирішальне значення.
  • Інструкція break дозволяє завершити цикл достроково, забезпечуючи більш ефективне виконання коду.
  • Вихід із циклу може оптимізувати ваш код, запобігти непотрібним ітераціям і допомогти ефективно виправляти помилки.

Цикли JavaScript дозволяють повторювати код, але іноді потрібно вийти з циклу, щоб обробити окремий випадок. Ось тут і з’являється оператор break. Дізнайтеся, як працює оператор break і навіщо він вам може знадобитися.

Розуміння циклів JavaScript

Цикли JavaScript дозволяють повторювати код, зберігаючи програму чистою та зменшуючи повторення. Цикли — важлива концепція, яку використовуватиме майже кожна написана вами програма. Отже, якщо ви тільки починаєте вивчати JavaScript, вам слід переконатися, що ви досконало розумієте цикли.

Різні типи циклів JavaScript, з якими ви повинні бути знайомі, включають:

  • для циклу
  • цикл while
  • робити… цикл while
  • для…в циклі
  • for…of цикл

Усі вони виконують ітерації, але мають невеликі нюанси, які роблять кожен придатним для різних ситуацій. Ось як виглядає синтаксис кожного типу циклу:

Тип петлі

Синтаксис

опис

для

for (init; cond; next) {
    
}

Виконує блок коду, доки виконується задана умова (cond). Вираз ініціалізації (init) запускається один раз, на початку циклу, тоді як наступний вираз запускається кожного разу, коли цикл досягає кінця блоку коду.

поки

while (condition) {
    
}

Виконує блок коду, доки виконується вказана умова.

робити…поки

do {
    
} while (condition);

Виконує блок коду, доки виконується вказана умова. Перевіряє умову після запуску блоку коду, тому завжди буде виконуватись принаймні один раз.

для…в

for (property in object) {
    
}

Запускає блок коду для кожної властивості об’єкта.

для…з

for (element of iterable) {
    
}

Запускає блок коду для кожного елемента в ітераційному об’єкті, як-от масив, рядок або карта.

Вступ до твердження «break».

Оператор break завершує цикл достроково. Коли цикл просувається, при контакті з оператором break він негайно зупиняється. Це змушує програму переходити до наступного оператора після циклу.

break корисний для зупинки циклу в непередбачуваній точці, замість того, щоб чекати виконання кількох ітерацій або коли головна умова стане помилковою. Він має дуже простий синтаксис:

break; 

Як використовувати «break» у різних циклах JavaScript

Ці приклади демонструють, як можна вийти з кожного доступного циклу JavaScript. Звертайте особливу увагу на значення локальних змінних і на те, коли вони друкуються чи обчислюються.

Вихід із циклу for

const numbers = [1, 2, 3, 4, 5];
let sum = 0;

for (let i = 0; i < numbers.length; i++)
{
    sum += numbers[i];

    if (sum > 5)
    {
        break;
    }
}

console.log(sum);

Цей код підсумовує масив елементів за допомогою циклу for. Цикл повторює кожен елемент масиву, підсумовуючи їх. Умова перевіряє, чи сума перевищує 5. Якщо так, оператор break завершує цикл.

Вихід із циклу while

const numbers = [1, 2, 3, 4, 5];
let product = 1;
let i = 0;

while (i < numbers.length)
{
    product *= numbers[i];

    if (product > 10)
    {
        break;
    }

    i++;
}

console.log(product);

Цей код використовує цикл while для пошуку добутку елементів у масиві. Цикл повторює кожен елемент масиву, обчислюючи добуток. Оператор break всередині умови зупинить цикл, коли добуток перевищить 10.

Вихід із циклу Do…While

let i = 1;

do
{
    if (i % 2 === 0)
    {
       console.log(i);
    }

    i++;

    if (i > 5)
    {
       break;
    }
} while (i <= 10);

Цикл do…while повторює числа від 1 до 10, друкуючи парні числа. Інструкція break в умові if перевіряє, чи лічильник циклу перевищує 5. Він продовжує вихід із циклу, якщо умова виконується.

Вихід із циклу for…in

const sentence = "Hello";
let result = "";

for (let index in sentence)
{
    if (index == 2)
    {
        break;
    }

    result += sentence[index];
}

console.log(result);

Цикл повторює кожен символ у рядку, об’єднуючи їх. Тут умова перевіряє, чи дорівнює індекс циклу 2. Якщо так, цикл виходить за допомогою break.

Вирватися з for…of Loop

const numbers = [1, 2, 3, 4, 5];

for (let num of numbers.reverse())
{
    console.log(num);

    if (num === 3)
    {
        break;
    }
}

Цикл обробляє кожен елемент масиву у зворотному порядку, об’єднуючи їх. Якщо цикл зустрічає значення 3, він завершиться за допомогою оператора break.

Важливість розриву петель

Вихід із циклу може бути корисним способом оптимізації коду. Ранній вихід із циклів може запобігти непотрібним ітераціям, скоротити часову складність і дозволить вам ефективно обробляти помилки.

Зосередьтеся на практиці виходу з різних циклів JavaScript у своїх програмах, щоб зміцнити своє розуміння.