Javascript 使用Array.from时,如何设置/定义变量类型?

Javascript 使用Array.from时,如何设置/定义变量类型?,javascript,arrays,angular,typescript,types,Javascript,Arrays,Angular,Typescript,Types,下面将为我提供唯一的条目,这是我从字符串值字符串[]数组中想要的 const items: string[]= ["a","b","c","d","c","d"]; const uniqueItems = Array.from(new Set(items)); Q:但是,如何定义/指定唯一项的类型? const items: string[]= ["a","b","c","d","c","d"]; // This does not work const uniqueItems: string[

下面将为我提供唯一的条目,这是我从字符串值字符串[]数组中想要的

const items: string[]= ["a","b","c","d","c","d"];
const uniqueItems = Array.from(new Set(items));
Q:但是,如何定义/指定唯一项的类型?

const items: string[]= ["a","b","c","d","c","d"];
// This does not work
const uniqueItems: string[] = Array.from(new Set(items));
错误是:

TS2322:类型{}[]不能分配给类型“string[]”。 类型“{}”不可分配给类型“string”

VVVVVVVVV

来自ng的Linux信息--版本

  • 角度CLI:6.2.9
  • 节点:8.9.4
  • 角度:6.1.10
  • 另外,包类型脚本:2.9.2

您可以通过告诉TypeScript
集中的元素类型来解决这个问题,因为TypeScript的2.9.2版显然没有正确地推断出它

const items: string[]= ["a","b","c","d","c","d"];
const uniqueItems: string[] = Array.from(new Set<string>(items));
常量项:字符串[]=[“a”、“b”、“c”、“d”、“c”、“d”]; const uniqueItems:string[]=Array.from(新集合(项));

利用
lib
中定义的
Set
的通用形式,我们可以告诉TypeScript,“这是一组字符串,该死的”:您可以通过告诉TypeScript
集中的元素类型来解决它,因为TypeScript的2.9.2版显然没有正确地推断它

const items: string[]= ["a","b","c","d","c","d"];
const uniqueItems: string[] = Array.from(new Set<string>(items));
常量项:字符串[]=[“a”、“b”、“c”、“d”、“c”、“d”]; const uniqueItems:string[]=Array.from(新集合(项));

利用
lib
中定义的
Set
的通用形式,我们可以告诉TypeScript,“这是一组字符串,该死的”:。

似乎工作正常。是的,即使我检查了代码,代码也正常,如果你能共享演示提琴,那就太好了。我的代码库很大,在不同的网络上。我可以看到它在操场上工作。也许是版本问题。我将用ng--版本信息更新我的帖子。@CRice你知道这个操作的任何版本要求吗?尝试使用像
Array这样的泛型。from(new Set(items))
Array。from(new Set(items))
?似乎工作正常。是的,即使我检查过,代码也正常,如果您可以共享演示Fiddle,那就太好了。我的代码库很大,并且在不同的网络上。我可以看到它在操场上工作。也许是版本问题。我将用ng--版本信息更新我的帖子。@CRice您是否知道此操作的任何版本要求?请尝试使用泛型,如
Array.from(新集(项目))
Array.from(新集(项目))