程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何以角度 12 将一个 iterface 的数组转换为另一个大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何以角度 12 将一个 iterface 的数组转换为另一个?

开发过程中遇到如何以角度 12 将一个 iterface 的数组转换为另一个的问题如何解决?下面主要结合日常开发的经验,给出你关于如何以角度 12 将一个 iterface 的数组转换为另一个的解决方法建议,希望对你解决如何以角度 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,请注明来意。