打字稿-属性'xxx []'不存在

时间:2020-09-02 11:55:27

标签: typescript

我有一个数组partialClassList,该数组包含以下对象:

{
  resultsPerTopic: [
    {topic: "Some topic", total: 1, points: 0}
  ],
  code: "B"
}

我已经声明了该数组的接口,如下所示:

interface IPartialClass {
  code: string,
  resultsPerTopic: ITopic[]
}

interface ITopic {
  topic: string,
  correct: number,
  total: number,
  points: number,
}

在我的代码中,我试图像这样映射并通过partialClassList数组:

result.partialClassList.resultsPerTopic.map((topic, index)

结果界面如下:

interface IResultModel {
  data: IKeyValue[],
  topic: ITopic[],
  combo: boolean,
  partialClassList: IPartialClass[]
}

但是,我得到了错误:

Property 'resultsPerTopic' does not exist on type 'IPartialClass[]

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

使用result.partialClassList.resultsPerTopic.map((topic, index),将遍历resultsPerTopic列表。但是partialClassList是一个数组,没有resultsPerTopic属性。

您必须首先通过partialClassList:result.partialClassList.map(p => ...

答案 1 :(得分:0)

partialClassList是一个数组,您需要提供一个索引

result.partialClassList[i].resultsPerTopic.map((topic, index)