#javascript #reactjs #typescript
#javascript #reactjs #typescript
Вопрос:
У меня есть интерфейс:
export interface Fren {
name: string;
}
и массив строк: frens: string[]
Как преобразовать frens
из string[]
в Fren[]
?
Моя попытка:
frens.map(f => ({name: f})
Но результатом этой операции является Object[]
Комментарии:
1. вы пытаетесь преобразовать
frens
? или вы хотите получить новый объект Fren[]?2. для меня это не имеет значения
Ответ №1:
Вы можете ввести возвращаемое значение обратного вызова
frens.map((f): Fren => ({ name: f }))
Ответ №2:
Используйте as
синтаксис. as
Ключевое слово — это утверждение типа в TypeScript, которое сообщает компилятору рассматривать объект как другой тип, отличный от типа, который компилятор определяет как объект.
const result:Fren[] = frens.map(f => ({name: f} as Fren)
Комментарии:
1. Пожалуйста, не публикуйте только код в качестве ответа, но также предоставьте объяснение, что делает ваш код и как он решает проблему вопроса. Ответы с объяснением обычно более полезны и более высокого качества и с большей вероятностью привлекут одобрение