# Массивы объектов в TypeScript

Массивы в TypeScript могут содержать в себе не только примитивы, но и объекты определенных типов. Давайте посмотрим на примерах как работать с такими массивами.

## Массив юзеров

Пусть у нас есть интерфейс, задающий юзера:

`interface User { name: string, age: number }`

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

`let arr: User[] = [];`

Заполним наш массив данными указанного типа:

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

## Массив дат

Объявим массив, хранящий в себе массив дат:

`let arr: Date[] = [];`

Заполним этот массив датами:

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

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

Объявим массив, содержащий в себе дом элементы:

`let arr: HTMLElement[] = [];`

Заполним наш массив данными:

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

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

Сделайте массив, элементы которого будут регулярными выражениями.

Сделайте массив, элементы которого будут промисами.

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

←→
↑