javascript - 无法调用类型缺少调用签名的表达式 TypeScript 错误

标签 javascript typescript typescript-typings word-cloud

我无法解决类型兼容性问题。问题就在那里:

this.options.list.push(...this.cloudData.map((e: Words) => [e.word, e.size] as[string, number]) as[string, number][]);

options: Options = {
  list: [] as ListEntry
};

其中 ListEntry 是:

type ListEntry = [string, number];

错误是:

error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((...items: any[]) => number) | ((...items: [string, number][]) => number)' has no compatible call signatures.

有什么想法吗?

<小时/>

编辑

单词类型:

export class Words {
  word: string;
  size: number;
}

最佳答案

已在评论中解决,请添加,以便此问题不会得不到答复:

list 的初始化已关闭。您的使用 list 应该是 ListEntry

的数组
let options = {
  list: [] as ListEntry[]
};

关于javascript - 无法调用类型缺少调用签名的表达式 TypeScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51381076/

相关文章:

javascript - 如何传递具有动态引用angular2的元素?

typescript - 在 TypeScript 中定义一个空对象类型

javascript - 在 Bootstrap 模式框中打开 YouTube 视频

javascript - 触发事件时不打印图像

typescript - 将 findOne 与 sequelize-typescript 一起使用会返回未定义的数据

typescript - 如何防止重复的自动建议导入

json - 为什么我在 Angular 2 项目中需要 `typings.json` 文件?

javascript - 是否可以通过 nightwatch.js 设置元素的 Style 属性值?如果是的话怎么办?

javascript - Firebase:手动删除一条路径时如何更新数组长度?

javascript - Angular2组件单元测试