大佬教程收集整理的这篇文章主要介绍了如何以角度 12 将一个 iterface 的数组转换为另一个,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我从 API 接收到的 JsON 是一个对象数组,大致看起来像
[{"ID":1,"url":"https://www.tvmaze.com/shows/1/under-the-dome","name":"Under the Dome","type":"Scripted","language":"English","genres":["Drama","ScIEnce-Fiction","Thriller"],"status":"Ended","runtime":60,"averageRuntime":60,"premIEred":"2013-06-24","officialSite":"http://www.cbs.com/shows/under-the-dome/","schedule":{"time":"22:00","days":["Thursday"]},"raTing":{"average":6.6},"weight":96,"
}
]
我定义了 2 个接口,一个用于我的数据结构(我从 API 接收的数据),另一个用于我的目标对象结构
我的数据结构的接口(来自 API 的数据)
export interface IShowData {
name : String,genres : [String,String,String],img : {
medium : String
}
}
我的目标对象的接口,这就是我需要数据的方式
export interface IShows {
img : String;
title : String;
genre : String
}
我的 http 服务函数从 API 获取 JsON 对象数组。它工作正常
getShowserviceData() {
return this.httpClIEnt.get<IShowData[]>(`http://API.tvmaze.com/shows`).pipe(
map(data => this.transformToIshows(data)))
}
transformToIshows 是将数组从一种形式转换为另一种形式的函数
private transformToIshows(data : IShowData[]) : IShows[] {
const mAPItems = (item:IShowData):IShows[] => {
return {
title : item.name,img: item.img.medium,genre : item.genres[0]
}
}
}
它不会编译。输入 '{ 标题:字符串; img:字符串;流派:字符串; }' 不能分配到类型 'IShows[]'。我真的被困在这里。
关于问题const mapItems = (item:IShowData):**IShows[]** => {
您在创建 IShows 对象时尝试返回数组。
我已经简化了transformToIshows方法如下
transformToIshows(data: IShowData[]): IShows[] {
const list = [];
data.map(item => {
list.push({title: item.name,img: item.img.medium,genre: item.genres[0]});
});
return list;}
以上是大佬教程为你收集整理的如何以角度 12 将一个 iterface 的数组转换为另一个全部内容,希望文章能够帮你解决如何以角度 12 将一个 iterface 的数组转换为另一个所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。