Изучение цикла «for…of» в TypeScript: раскрытие возможностей итерации

В мире TypeScript цикл for…of — это мощная конструкция, позволяющая перебирать различные коллекции и выполнять действия над их элементами. В этой статье блога мы углубимся в детали цикла for…of и рассмотрим различные методы и приемы, позволяющие полностью раскрыть его потенциал. Итак, хватайте свой любимый напиток и начнем!

Понимание цикла for…of:
Цикл for…of специально разработан для перебора повторяемых объектов, таких как массивы, строки, карты, наборы и т. д. Он обеспечивает более простой и понятный синтаксис по сравнению с традиционными циклами for, что делает ваш код более читабельным и кратким.

Синтаксис:
Прежде чем мы перейдем к методам, давайте взглянем на базовый синтаксис цикла for…of:

for (const element of iterable) {
  // Code to execute for each element
}

Метод 1. Разрыв цикла с помощью команды «break».
Иногда вам может потребоваться преждевременно выйти из цикла по определенному условию. В таких сценариях на помощь приходит оператор «break». Вот пример:

const numbers = [1, 2, 3, 4, 5];
for (const num of numbers) {
  if (num === 3) {
    break; // Exit the loop when num is 3
  }
  console.log(num);
}

Выход:

1
2

В приведенном выше примере цикл проходит по массиву чисел, и когда он встречает элемент «3», выполняется оператор «break», останавливающий выполнение цикла.

Метод 2. Обработка вложенных циклов с помощью помеченных операторов.
В некоторых случаях у вас могут быть вложенные циклы, в которых вы хотите выйти из внешнего цикла из внутреннего цикла. Этого можно добиться с помощью помеченных операторов. Давайте рассмотрим пример:

const letters = ['A', 'B', 'C'];
const numbers = [1, 2, 3, 4, 5];
outerLoop: for (const letter of letters) {
  for (const num of numbers) {
    if (num === 3) {
      break outerLoop; // Exit both loops when num is 3
    }
    console.log(letter + num);
  }
}

Выход:

A1
A2
A3

В приведенном выше примере у нас есть внешний цикл, перебирающий массив «буквы», и внутренний цикл, перебирающий массив «цифры». Когда внутренний цикл встречает элемент «3», выполняется оператор «break» с меткой «outerLoop», что приводит к завершению обоих циклов.