Масиви от обекти в TypeScript

Масивите в TypeScript могат да съдържат в себе си не само примитиви, но и обекти от определени типове. Нека да разгледаме с примери как се работи с такива масиви.

Масив от потребители

Нека имаме интерфейс, който дефинира потребител:

typescriptinterface User {
  name: string,
  age: number
}

Нека декларираме масив, като посочим като тип на неговото съдържание обекти от потребители (т.е. обекти, които имплементират нашия интерфейс):

typescriptlet arr: User[] = [];

Нека попълним нашия масив с данни от указания тип:

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

Масив от дати

Нека декларираме масив, който съхранява в себе си дати:

typescriptlet arr: Date[] = [];

Нека попълним този масив с дати:

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

Масив от DOM елементи

Нека декларираме масив, съдържащ в себе си DOM елементи:

typescriptlet arr: HTMLElement[] = [];

Нека попълним нашия масив с данни:

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

Практически задачи

Задание 1

Създайте масив, чиито елементи ще бъдат регулярни изрази.

Задание 2

Създайте масив, чиито елементи ще бъдат промисове.

Задание 3

Създайте интерфейс, описващ служител. Създайте масив, състоящ се от обекти с тези служители.