Имеется интерфейс, в котором указаны следующие:
export interface Post {
title: string;
text: string;
}
Также имеется переменная, которая реализует данный интерфейс:
AllPosts: Post[] = [
{ title: 'Компьютер', text: 'Это самый лучший компьютер' },
{ title: 'Ноутбук', text: 'Ноутбук это то, через чего удобно работать' },
{ title: 'Телефон', text: 'Сейчас все сидят в инстаграмме и телеграамме' },
];
Пытаюсь реализовать метод transform, и компилятор выкидывает ошибку:
export class SearchingPipe implements PipeTransform {
transform(posts: Post[], search: string, searhcField: string = 'title') {
if (!search.trim()) {
return posts;
}
return posts.filter((post) => {
return post[searhcField] //вот здесь такое сообщение:
//Элемент неявно имеет тип "any", так как выражение типа "string" не может использоваться для индексации типа "Post".
//В типе "Post" не обнаружена сигнатура индекса с параметром типа "string".ts(7053)
.toLocaleLowerCase()
.includes(search.toLocaleLowerCase());
});
}
}
Нужно ли мне в интерфейсе или же в самом методе что-то дополнить, чтоб устранить ошибку?