ES6设置在simple Express Node.js应用程序中不起作用

ES6设置在simple Express Node.js应用程序中不起作用,node.js,express,ecmascript-6,Node.js,Express,Ecmascript 6,我有一个使用Express和Node的简单应用程序(windows上的v12.13.0)。 我发现我不能在集合中添加任何内容 我尝试在其中添加不同类型的对象,但根本不起作用。 Object.prototype.toString.call(aSet)输出“[对象集]”: let users=new Set(); 用户。添加('1'); log('users:'+JSON.stringify(users))集合不是普通对象-它们是集合实例,因此(就像其他非普通对象的对象一样,如日期、正则表达式、函

我有一个使用Express和Node的简单应用程序(windows上的v12.13.0)。 我发现我不能在集合中添加任何内容

我尝试在其中添加不同类型的对象,但根本不起作用。
Object.prototype.toString.call(aSet)
输出“[对象集]”:

let users=new Set();
用户。添加('1');
log('users:'+JSON.stringify(users))集合不是普通对象-它们是集合实例,因此(就像其他非普通对象的对象一样,如日期、正则表达式、函数等)它们不能转换为JSON或返回。如果要序列化它们,请首先将它们转换为数组(要进行反序列化,请获取数组并传递到
新集合
):

let users=new Set();
用户。添加('1');
const arrUsersJSON=JSON.stringify([…users]);
log('users:'+arrcusersjson);
//反序列化:
const deserializedArr=JSON.parse(arrUsersJSON);
const deserializedSet=新集合(deserializedArr);
log(反序列化的数据集has('1')集合不是普通对象-它们是集合实例,因此(就像其他非普通对象的对象一样,如日期、正则表达式、函数等)它们不能转换为JSON或返回。如果要序列化它们,请首先将它们转换为数组(要进行反序列化,请获取数组并传递到
新集合
):

let users=new Set();
用户。添加('1');
const arrUsersJSON=JSON.stringify([…users]);
log('users:'+arrcusersjson);
//反序列化:
const deserializedArr=JSON.parse(arrUsersJSON);
const deserializedSet=新集合(deserializedArr);

log(反序列化的数据集has('1')你是对的。我现在可以看到集合和地图中的数据。非常感谢你!你说得对。我现在可以看到集合和地图中的数据。非常感谢你!