Вывод данных из массива объектов typeScript
Нужно вывести массив объектов в TypeScript. Есть массив объектов:
products: Array<object> = [
{id: 1, name: 'Пылесос Samsung', price: 2700, description:
'Мощность 750Вт'},
{id: 2, name: 'Мультиварка Polaris', price: 2200,
description: 'С функцией скороварки'},
{id: 3, name: 'Электрочайник Vitek', price: 750,
description: 'Очень быстро нагревает воду'}
];
Пробую получить доступ к этому объекту в том-же .ts-файле, сразу ошибку типа такого свойства(напр. name) не существует в типе object. Доступ делаю в методе - this.products.name.
В чём моя ошибка, помогите разобраться пожалуйста?
Ответы (1 шт):
Автор решения: Sergey Glazirin
→ Ссылка
Во-первых, products - это массив. Следовательно, обратиться к this.products.name - нельзя, можно получить name, если обратиться к какому-то элементу массива, например по индексу.
this.products[0].name //обращение по нулевому индексу.
Во-вторых, лучше заранее вывести тип, чтобы было легче с ним работать.
type Product = {
id: number;
name: string;
price: number
description: string;
}
products: Array<Product> = [
{id: 1, name: 'Пылесос Samsung', price: 2700, description:
'Мощность 750Вт'},
{id: 2, name: 'Мультиварка Polaris', price: 2200,
description: 'С функцией скороварки'},
{id: 3, name: 'Электрочайник Vitek', price: 750,
description: 'Очень быстро нагревает воду'}
];
P.S. Использовать any - не рекомендуется, потому что вы по сути убираете из Typescript типизацию, превращая его в Javascript.