首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少调用签名- Array.prototype.map()

缺少调用签名- Array.prototype.map()
EN

Stack Overflow用户
提问于 2019-04-06 05:56:01
回答 1查看 579关注 0票数 0

我刚开始使用Typescript,并且我对下面的代码有问题。

代码语言:javascript
复制
foo(values: string[] | number[]) {
  const mappedValues = values.map((value) => {
    return (typeof value === 'number')
      ? value
      : `'${value}'`;
  });
}

Typescript引发错误

代码语言:javascript
复制
Cannot invoke an expression whose type lacks a call signature. Type '(<U>(callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | (<U>(callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[])' has no compatible call signatures.

我试过修它,但没有成功。我怎么才能让它工作呢?

EN

回答 1

Stack Overflow用户

发布于 2019-04-06 06:06:02

typescript不确定映射有哪些类型可用,因为foo有两个调用签名(string[]和int[]),但在本例中它可以解析它

代码语言:javascript
复制
foo(values: Array<string | number>) {
  const mappedValues = values.map((value) => {
    return (typeof value === 'number')
      ? value
      : `'${value}'`;
  });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55543853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档