映射打字对象的问题|无法调用类型缺少调用签名的表达式

时间:2018-06-02 22:37:39

标签: typescript dictionary

我有一个名为" container"这将始终包含在每个键上相同类型的组件。

以下代码按预期工作

interface Dictionary<T> {
    [key: string]: T;
}

interface GameContainer {
    zIndex: number;
}

interface Game {
    containers: Dictionary<GameContainer>;
}

const game: Game = {
    containers: {
        a: { zIndex: 2 },
        b: { zIndex: 4 }
    }
}

尝试映射&#34;容器&#34;

时问题就出现了
const something = game.containers.map(container => {
    console.log(container)
})

尝试此操作后,我收到错误

  

无法调用类型缺少调用签名的表达式。输入&#39; GameContainer&#39;没有兼容的呼叫签名。

这对我来说很奇怪,因为在普通的javascript中这只是有用的。

Here is a link to a typescript playground所以你可以看到错误

1 个答案:

答案 0 :(得分:0)

试试这个:

Code_PR   Count  Ratio
  PR1      3       1/3 
  PR2      2       1/2

是:

RatioAb <-  Database_V2  %>%
group_by(CodePR, StatutSP) %>%
summarize(
n=n(),
Ratio =count(StatutSP, '1')/count(StatutSP)
)
Error in summarise_impl(.data, dots) : 
Evaluation error:
no applicable method for 'group_by_' applied to an object of class 
"logical"

然后迭代这个:

declare module namespace {

    export interface A {
        zIndex: number;
    }

    export interface B {
        zIndex: number;
    }

    export interface Containers {
        a: A;
        b: B;
    }

    export interface RootObject {
        containers: Containers;
    }

}