Matrice de obiecte în TypeScript

Matricele în TypeScript pot conține în ele nu doar primitive, dar și obiecte de anumite tipuri. Să vedem cu exemple cum să lucrăm cu astfel de matrice.

Matrice de utilizatori

Să presupunem că avem o interfață care definește un utilizator:

typescriptinterface User {
  name: string,
  age: number
}

Să declarăm o matrice, specificând ca tip al conținutului său obiecte cu utilizatori (adică obiecte care implementează interfața noastră):

typescriptlet arr: User[] = [];

Să umplem matricea noastră cu date de tipul specificat:

typescriptarr.push({name: 'john', age: 30});
arr.push({name: 'eric', age: 40});

Matrice de date

Să declarăm o matrice care stochează în sine un matrice de date:

typescriptlet arr: Date[] = [];

Să umplem această matrice cu date:

typescriptarr.push(new Date(2030, 11, 31));
arr.push(new Date(2020, 11, 31));

Matrice de elemente DOM

Să declarăm o matrice care conține în sine elemente DOM:

typescriptlet arr: HTMLElement[] = [];

Să umplem matricea noastră cu date:

typescriptlet lst: NodeList = document.querySelectorAll('div');
let arr: HTMLElement[] = Array.from(lst);

Probleme practice

Задание 1

Creați o matrice ale cărei elemente vor fi expresii regulate.

Задание 2

Creați o matrice ale cărei elemente vor fi promise-uri.

Задание 3

Creați o interfață care descrie un angajat. Creați o matrice formată din obiecte cu acești angajați.