Variáveis de Tipo Genéricas em TypeScript

Quando criamos uma função de tipo genérico, o TypeScript nos força a usar corretamente as variáveis de tipo em seu corpo. Consequentemente, precisamos considerar o comportamento de cada parâmetro passado para a função, do ponto de vista de todos os tipos disponíveis para nós.

Vamos criar uma função para determinar o comprimento de uma variável de tipo genérico:

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

O erro ocorre porque nem todos os tipos têm comprimento. Por exemplo, para valores booleanos, tal ação é impossível. No entanto, se refinarmos o tipo e o especificarmos como um array, o código funcionará corretamente. Pois cada array, não importa de que tipo, tem comprimento:

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

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

Escreva uma função para iterar e exibir todos os elementos de um array de tipo genérico no console.