我有一个Angular 2 Web应用程序。 我想将用户添加到游戏中,我有一个带复选框的屏幕。当一个被击中时,我将它添加到Set。
mySet = new Set();
this.mySet.add(e);
用户点击“添加用户”按钮后,应将用户发送到Firebase数据库。 我在这里建议使用Set by a User,但后来我发现https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Set,很多设备都没有真正支持Set,所以我很害怕使用它。你对此有何看法? 在将数据发送到firebase数据库之前,还有其他方法/更好的方法来保存数据吗?
编辑: 所以它似乎是一种合法的方法(见答案) 现在我有另一个问题:我不能迭代一个Set。 如你所见,我有一个Set,增加了值。 然后打电话给
for (let entry of this.mySet) {
console.log(entry);
}
this.mySet
是低调的,它告诉我“类型集不是数组”。
如上所述,我使用角度。
有什么想法吗?
答案 0 :(得分:2)
关于浏览器兼容性,您可以使用此polyfill来确保Set始终可用
https://www.npmjs.com/package/es6-set
关于迭代设置条目的问题,您可以使用MDN docs中所述的forEach
。
以下是一个例子。
this.mySet.forEach((entry: string) => {
console.log(entry);
});
答案 1 :(得分:1)
根据kangax.github.io/compat-table/es6/#test-Set这是网站caniuse.com检查的地方。 几乎90%的浏览器都支持它,不包括旧的浏览器