将元素添加到打字稿 Record<>

ske*_*kew 21 record set typescript

我有一个这样设置的记录: let myRecord = Record<String, Set<String>>

如何将元素添加到记录内的集合中?我尝试了以下方法但没有成功:

let key = "key";
let stringToAdd = "stringToAdd";
myRecord[key].add(stringToAdd);
Run Code Online (Sandbox Code Playgroud)

Sør*_*nHN 23

您可以使用方括号[]和赋值将元素添加到记录中。

let mySet: Set<string> = new Set();
mySet.add("stringToAdd");

let myRecord: Record<string, Set<string>> = {};

myRecord["key"] = mySet;    // <--- Like this
Run Code Online (Sandbox Code Playgroud)


Lin*_*ste 1

这里有两个问题。首先你要使用小写string。有一个区别(String是可新建的构造函数),但只需知道您想要任何基本类型的小写版本即可。

其次,当您这样做时,您会混淆类型和值let myRecord = Record<String, Set<String>>。您不能将变量设置为类型。您可以声明变量的类型,但还需要设置值。

let myRecord: Record<string, Set<string>> = {};
Run Code Online (Sandbox Code Playgroud)

这将创建一个变量myRecord,其初始值为空对象{},类型为Record<string, Set<string>>

游乐场链接