TypeScriptda Umumiy tip o'zgaruvchilari

Biz umumiy tip funksiyasini yaratganimizda, TypeScript bizni uning tana qismida tip o'zgaruvchilarini to'g'ri ishlatishga majbur qiladi. Shuning uchun, funksiyaga o'tkaziladigan har bir parametrning xatti-harakatini bizga mavjud bo'lgan barcha turlar nuqtai nazaridan ko'rib chiqish kerak.

Keling, umumiy tipdagi o'zgaruvchi uzunligini aniqlash uchun funksiya yarataylik:

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

Xato shundan kelib chiqadiki, barcha tip(lar)da uzunlik mayjud emas. Masalan, mantiqiy qiymatlar uchun bunday amalni bajarish mumkin emas. Biroq, agar biz tipni aniqlasak va uni massiv deb belgilasak, kod to'g'ri ishlaydi. Axir, har bir massivning, uning tipi qanday bo'lishidan qat'iy nazar, uzunligi mayjud:

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

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

Umumiy tipdagi massivning barcha elementlarini ketma-ketlik bilan chiqarish va konsolga chiqarish uchun funksiya yozing.