Typowe zmienne ogólne w TypeScript

Gdy tworzymy funkcję typu ogólnego, TypeScript wymusza na nas poprawne wykorzystanie typowych zmiennych w jej ciele. W związku z tym, należy rozważać zachowanie każdego parametru przekazywanego do funkcji, z punktu widzenia wszystkich dostępnych nam typów.

Stwórzmy funkcję do określania długości zmiennej typu ogólnego:

typescriptfunction myFunc <T> (data: T): T {
  console.log(data.length); // błąd
  return data;
}

Błąd występuje ponieważ nie wszystkie typy mają długość. Na przykład, dla wartości logicznych taka operacja jest niemożliwa. Jednakże jeśli doprecyzujemy typ i wskażemy go jako tablicę, to kod zadziała poprawnie. W końcu każda tablica, niezależnie od jej typu, ma długość:

typescriptfunction myFunc <T> (data: T[]): T[] {
  console.log(data.length); // 3
  return data;
}

console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Задание 1

Napisz funkcję do iterowania i wypisywania wszystkich elementów tablicy typu ogólnego do konsoli.