Массивҳои объектҳо дар 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

Массиверо созед, ки элементҳои он ваъдаҳо (promises) бошанд.

Задание 3

Интерфейсеро созед, ки коргарро тавсиф мекунад. Массиверо созед, ки аз объектҳои бо ин коргарон иборат бошад.