我可以在 TypeScript 函数签名中将两个“任何”标记为同一件事吗?

雅科夫

考虑以下函数:

function extractItemsFromArray(array: any[], isItemToBeRemoved: (item: any) => boolean) {
  let removedItems = [];
  let i = array.length;
  while(i--)
    if(isItemToBeRemoved(array[i]))
      removedItems.push(array.splice(i, 1));
  return removedItems;
}

它的签名说:我接受any项目数组和一个检查器函数,该函数决定是否删除类型为 的项目any

但是,如果一个带有签名的函数(item: string) => boolean被传递为isItemToBeRemoved并且number[]被传递为array(我假设两者都被断言给某些类型),那么上面的函数定义不会告诉 TS 它实际上是不行的。有没有办法anyextractItemsFromArray相同类型的事物的定义中标记这两个

雅科夫

好的,在写这个问题时,我用谷歌搜索了一下,并决定阅读更多关于Advanced Types 的信息似乎类型别名实际上是我正在寻找的:

function extractItemsFromArray<T>(array: T[], isItemToBeRemoved: (item: T) => boolean) {
  ...
}

用法似乎是:

let roots = extractItemsFromArray<INode>(dictionaryCopy, item => !item.parentId);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

可以使用ADD和LDUR完成同一件事吗?

来自分类Dev

向阿格达证明我们在谈论同一件事

来自分类Dev

我可以在 Typescript 中定义事件吗?

来自分类Dev

尝试在我的JavaScript代码中理解“ this”(一件事有效,另一件事无效)

来自分类Dev

球拍,踏步机,我不懂一件事

来自分类Dev

内容的水平和垂直居中(我不明白一件事)

来自分类Dev

我如何只能从文本文件中读取一件事?

来自分类Dev

我将如何提高效率(不要一遍又一遍地重复同一件事)?

来自分类Dev

我可以覆盖Typescript中的类函数吗?

来自分类Dev

我可以在Typescript中让类充当函数吗?

来自分类Dev

我刚刚克隆了一个仓库,它在Github中说的第一件事是“未提交的更改”?与CRLF不相关

来自分类Dev

我刚刚克隆了一个仓库,它在Github中说的第一件事是“未提交的更改”?与CRLF不相关

来自分类Dev

TypeScript:我可以声明一个接口可以具有许多其他属性吗?

来自分类Dev

TypeScript:我可以声明一个接口可以具有许多其他属性吗?

来自分类Dev

我可以在Typescript中创建class []运算符吗

来自分类Dev

我可以在Eclipse中调试AngularJS和TypeScript吗?

来自分类Dev

我可以在WebStorm中更新TypeScript版本吗?

来自分类Dev

我可以在 Ionic 3.8.0 中使用 Typescript 2.4.2 吗?

来自分类Dev

我可以在Typescript定义和函数调用中将参数设为可选参数吗?

来自分类Dev

我可以将TypeScript类从我自己的模块导入全局吗?

来自分类Dev

我可以在VS代码中验证我的Javascript但忽略特定的Typescript错误吗?

来自分类Dev

我可以在Typescript中创建一个实现接口的类,并且仍然可以在其上使用装饰器吗?

来自分类Dev

我想将我的变量放在 google Piechart 中,但它一直从选择中选择最后一件事

来自分类Dev

如何告诉TypeScript我的属性可以是布尔值还是具有特定签名的函数?

来自分类Dev

除了正则表达式中的这一件事,我可以删除所有内容:“ co-”。不确定如何处理破折号

来自分类Dev

这两段代码代表同一件事吗?有性能差异吗?

来自分类Dev

我可以告诉TypeScript泛型类型具有构造函数吗?

来自分类Dev

在TypeScript中,我可以从函数重载中推断映射类型吗?

来自分类Dev

在TypeScript中,我们可以为函数数组创建可重用的接口吗?

Related 相关文章

  1. 1

    可以使用ADD和LDUR完成同一件事吗?

  2. 2

    向阿格达证明我们在谈论同一件事

  3. 3

    我可以在 Typescript 中定义事件吗?

  4. 4

    尝试在我的JavaScript代码中理解“ this”(一件事有效,另一件事无效)

  5. 5

    球拍,踏步机,我不懂一件事

  6. 6

    内容的水平和垂直居中(我不明白一件事)

  7. 7

    我如何只能从文本文件中读取一件事?

  8. 8

    我将如何提高效率(不要一遍又一遍地重复同一件事)?

  9. 9

    我可以覆盖Typescript中的类函数吗?

  10. 10

    我可以在Typescript中让类充当函数吗?

  11. 11

    我刚刚克隆了一个仓库,它在Github中说的第一件事是“未提交的更改”?与CRLF不相关

  12. 12

    我刚刚克隆了一个仓库,它在Github中说的第一件事是“未提交的更改”?与CRLF不相关

  13. 13

    TypeScript:我可以声明一个接口可以具有许多其他属性吗?

  14. 14

    TypeScript:我可以声明一个接口可以具有许多其他属性吗?

  15. 15

    我可以在Typescript中创建class []运算符吗

  16. 16

    我可以在Eclipse中调试AngularJS和TypeScript吗?

  17. 17

    我可以在WebStorm中更新TypeScript版本吗?

  18. 18

    我可以在 Ionic 3.8.0 中使用 Typescript 2.4.2 吗?

  19. 19

    我可以在Typescript定义和函数调用中将参数设为可选参数吗?

  20. 20

    我可以将TypeScript类从我自己的模块导入全局吗?

  21. 21

    我可以在VS代码中验证我的Javascript但忽略特定的Typescript错误吗?

  22. 22

    我可以在Typescript中创建一个实现接口的类,并且仍然可以在其上使用装饰器吗?

  23. 23

    我想将我的变量放在 google Piechart 中,但它一直从选择中选择最后一件事

  24. 24

    如何告诉TypeScript我的属性可以是布尔值还是具有特定签名的函数?

  25. 25

    除了正则表达式中的这一件事,我可以删除所有内容:“ co-”。不确定如何处理破折号

  26. 26

    这两段代码代表同一件事吗?有性能差异吗?

  27. 27

    我可以告诉TypeScript泛型类型具有构造函数吗?

  28. 28

    在TypeScript中,我可以从函数重载中推断映射类型吗?

  29. 29

    在TypeScript中,我们可以为函数数组创建可重用的接口吗?

热门标签

归档