Enum в TypeScript — это тип данных, который позволяет нам определять набор именованных констант. Перечисления могут быть полезны, когда мы хотим определить фиксированный набор значений, которые можно использовать в приложении.

Итерация по перечислениям может быть немного сложной в TypeScript, но есть несколько способов сделать это. Вот несколько примеров:

Способ 1: Использование цикла for…in

Один из способов перебора Enum — использование цикла for…in. Этот цикл будет перебирать все свойства Enum, включая значения. Вот пример:

enum Colors {
  Red,
  Green,
  Blue
}

for (let color in Colors) {
  console.log(color); // "Red", "Green", "Blue"
  console.log(Colors[color]); // 0, 1, 2
}

Способ 2: Использование Object.keys()

Другой способ перебора Enum — использование метода Object.keys(). Этот метод вернет массив всех ключей в Enum, который мы затем можем просмотреть. Вот пример:

enum Colors {
  Red,
  Green,
  Blue
}

Object.keys(Colors).forEach((key) => {
  console.log(key); // "Red", "Green", "Blue"
  console.log(Colors[key]); // 0, 1, 2
});

Способ 3: Использование пользовательской функции

Наконец, мы также можем создать пользовательскую функцию, которая будет перебирать Enum и выполнять некоторые действия для каждого значения. Вот пример:

enum Colors {
  Red,
  Green,
  Blue
}

function iterateEnum(e: any, callback: any) {
  Object.keys(e).forEach((key) => callback(e[key]));
}

iterateEnum(Colors, (value) => {
  console.log(value); // 0, 1, 2
});

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