查找具有不同类型的数组

时间:2018-11-21 21:52:51

标签: typescript

我有两个子类,它们将扩展到许多类。现在,我将找到具有特定类型的类(在我的情况下,这是子类的属性)。

创建许多实例后,我有一个辅助函数,该函数将返回具有所需类型匹配项的第一类。 到目前为止,一切正常。

我的问题 当我在Helper函数上返回课程时,我没有得到正确的ts类型。我总是会遇到打字稿错误,但我不知道如何解决该问题。

有没有人向我展示正确的方法? 还是有一些教程? (我找到了一些教程,但没有扩展,也没有具有许多不同类型的动态存储数组)

My example code on the typescript playground with the ts-error

1 个答案:

答案 0 :(得分:1)

我提到了两件事:

  1. 您声明了类型为Building的数组

    const建筑商店:(建筑)[] = [仓库,营房];

,然后在过滤器中期望building具有属性type

return type === building.type;

这显然行不通,因为Building没有type

  1. 我无法遗憾地解释 TypeScript 中到底发生了什么,但是删除函数的返回类型并进行类型强制转换(而不是Type Inference) :

Working code here

编辑

我更新了有关type属性的代码:here