javascript - 使用 Array.from 时如何设置/定义 var 类型?
问题描述
以下将为我提供唯一的条目,这是我想要的字符串值数组 string[] 中的内容。
const items: string[]= ["a","b","c","d","c","d"];
const uniqueItems = Array.from(new Set(items));
问:但是,如何定义/指定 uniqueItems 的类型?
const items: string[]= ["a","b","c","d","c","d"];
// This does not work
const uniqueItems: string[] = Array.from(new Set(items));
错误是:
TS2322:类型 {}[] 不可分配给类型“string[]”。类型“{}”不可分配给类型“字符串”
vvvvvvvvvvvvvvvvvv
来自 ng --version 的 Linux 信息
- 角 CLI:6.2.9
- 节点:8.9.4
- 角度:6.1.10
- 此外,包装打字稿:2.9.2
解决方案
您可以通过告诉 TypeScript 中的元素类型来解决它Set
,因为 TypeScript 的 2.9.2 版显然没有正确推断它。
const items: string[]= ["a","b","c","d","c","d"];
const uniqueItems: string[] = Array.from(new Set<string>(items));
利用 in 中Set
定义的通用形式lib
,我们可以告诉 TypeScript,“这是一组字符串,该死的”:)。
推荐阅读
- python - .iconbitmap 给出 TclError: bitmap "*.ico" not defined
- java - 无法在 Java 项目中使用 JMatI/O 库红色 .mat 文件
- java - 映射@Entity时出现UnsatisfiedDependencyException beancreationerror
- vhdl - 实现开放收集器和“z”数据类型
- ios - 具有不同配置的 iOS TestFlight
- html - 知道是否允许表单下的链接
- http - 对 api nativescript vue 的 http post 请求
- mysql - 如何处理 spring-boot 休眠问题中的电流更新?还需要使应用程序可扩展
- google-apps-script - TextRange.select() 不适用于演讲者备注形状
- powershell-2.0 - 如何测量powershell中的代码复杂度?