将()设置为Javascript对象的键

将()设置为Javascript对象的键,javascript,set,Javascript,Set,在JavaScript中,我尝试以下操作: let set1=新集合([1]); 设set2=新集([2]); 设obj={}; log(“obj[set2]给出:”,obj[set2]); obj[set1]=“应设置为1”; 控制台日志(obj); log(“obj[set2]给出:”,obj[set2])对象键只能是字符串(或符号,很少)。如果您尝试分配一个不是字符串的键,则在将其放入对象之前,它将被强制转换为字符串 查看尝试将集合转换为字符串时发生的情况: let set1=新集合(

在JavaScript中,我尝试以下操作:

let set1=新集合([1]);
设set2=新集([2]);
设obj={};
log(“obj[set2]给出:”,obj[set2]);
obj[set1]=“应设置为1”;
控制台日志(obj);
log(“obj[set2]给出:”,obj[set2])对象键只能是字符串(或符号,很少)。如果您尝试分配一个不是字符串的键,则在将其放入对象之前,它将被强制转换为字符串

查看尝试将集合转换为字符串时发生的情况:

let set1=新集合([1]);
设set2=新集([2]);
console.log(
字符串(set1),
字符串(set2)

);这是因为
obj[set1]=“应该是set1”
实际上是在说
obj['undefined']='应该设置为1'
,然后您正在测试另一个
obj[set2]
,其中
set2
未定义(再次转换为字符串),因此您会得到
“应该是set1”
。如果你想知道一个集合是否有某些东西,它是
setwhather.has(value)