Bendriniai tipų kintamieji TypeScript

Kai mes sukuriame bendrinio tipo funkciją, TypeScript verčia mus teisingai naudoti tipų kintamuosius jos kūne. Vadinasi, reikia nagrinėti kiekvieno į funkciją perduodamo parametro elgesį iš visų mums prieinamų tipų požiūriu.

Sukurkime funkciją bendrinio tipo kintamojo ilgiui nustatyti:

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

Klaida atsiranda dėl to, kad ne visi tipai turi ilgį. Pavyzdžiui, loginėms reikšmėms toks veiksmas neįmanomas. Tačiau jei mes patikslinsime tipą ir nurodysime jį kaip masyvą, tada kodas veiks teisingai. Juk kiekvienas masyvas, nesvarbu kokio jis tipo, turi ilgį:

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

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

Parašykite funkciją bendrinio tipo masyvo elementų iteravimui ir išvedimui į konsolę.