Как можно выйти из цикла foreach js

Аватар пользователя Aleksey
Aleksey
05 апреля 2023

В JavaScript цикл forEach не имеет стандартного способа выйти из него до его завершения. Как уже упоминалось, оператор break не работает в цикле forEach. Однако, можно использовать исключения (throw) для выхода из цикла.

Пример кода, который использует исключения для выхода из цикла forEach:

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

let isValueFound = false;

try {
  array.forEach(function (element) {
    if (element === 3) {
      isValueFound = true;
      throw new Error('Value found');
    }
  });
} catch (e) {
  if (e.message !== 'Value found') {
    throw e;
  }
}

if (isValueFound) {
  console.log('Value is found');
} else {
  console.log('Value is not found');
}

Однако, использование исключений может сделать код менее читаемым и более сложным в отладке, поэтому использование исключений для управления потоком программы следует ограничивать только крайними случаями.

3 0
Аватар пользователя Maksim Litvinov
Maksim Litvinov
22 октября 2021

Цикл for...of автоматически закончит работу, когда будут перебраны все элементы итерируемого объекта. Чтобы аварийно выйти из цикла, можно использовать оператор break

const word = 'abcde';
let result = '';
for (const char of word) {
  if (char === 'c') {
    break;
  }
  result += char.toUpperCase();
}
console.log(result);
0 1
Познакомьтесь с основами JavaScript бесплатно

Похожие вопросы

1
ответ
1
ответ
1
ответ