Javascript 角度2:使用集合?浏览器兼容性&;迭代是不可能的
我有一个Angular 2 Web应用程序。 我想将用户添加到游戏中,在游戏中我有一个带有复选框的屏幕。当一个被击中时,我将其添加到集合中Javascript 角度2:使用集合?浏览器兼容性&;迭代是不可能的,javascript,angular,firebase,firebase-realtime-database,Javascript,Angular,Firebase,Firebase Realtime Database,我有一个Angular 2 Web应用程序。 我想将用户添加到游戏中,在游戏中我有一个带有复选框的屏幕。当一个被击中时,我将其添加到集合中 mySet=newset() this.mySet.add(e) 用户单击“添加用户”按钮后,应将用户发送到Firebase DB。 这里的一位用户推荐我使用这个集合,但后来我发现,很多设备并不真正支持这个集合,所以我害怕使用它。你对此有什么看法? 在将数据发送到firebase DB之前,是否有其他方法/更好的方法保存数据 编辑: 因此,这似乎是一种合法的
mySet=newset()代码>
this.mySet.add(e)代码>
用户单击“添加用户”按钮后,应将用户发送到Firebase DB。
这里的一位用户推荐我使用这个集合,但后来我发现,很多设备并不真正支持这个集合,所以我害怕使用它。你对此有什么看法?
在将数据发送到firebase DB之前,是否有其他方法/更好的方法保存数据
编辑:
因此,这似乎是一种合法的方法(见答案)
现在我有另一个问题:我不能迭代一个集合。
如你所见,我有一组附加值。
然后打电话
for (let entry of this.mySet) {
console.log(entry);
}
this.mySet
在红线下,它告诉我“类型集不是数组”。
如前所述,我使用的是角度。
有什么想法吗?关于浏览器兼容性,您可以使用此polyfill来确保集合始终可用
关于对集合项进行迭代的问题,可以使用forEach
,如中所述
下面是一个例子
this.mySet.forEach((entry: string) => {
console.log(entry);
});
关于浏览器兼容性,您可以使用此多边形填充以确保该集始终可用
关于对集合项进行迭代的问题,可以使用forEach
,如中所述
下面是一个例子
this.mySet.forEach((entry: string) => {
console.log(entry);
});
根据kangax.github.io/compat table/es6/#测试集,该测试集是caniuse.com网站的检查来源。
除旧浏览器外,几乎90%的浏览器都支持它
根据cangax.github.io/compat table/es6/#test Set设置用法和方法,该测试集是caniuse.com网站的检查来源。
除旧浏览器外,几乎90%的浏览器都支持它
设置用法和方法为什么不支持?据我所知,几乎90%的浏览器(不包括旧浏览器)都支持它。如果单击链接并向下滚动,则会有一个兼容性表。所以你会说使用它很好?是的,把我的评论作为一个答案,使用起来非常好。这是一个优化的目标,也是使用ES6的一大进步。为什么不支持?据我所知,几乎90%的浏览器(不包括旧浏览器)都支持它。如果单击链接并向下滚动,则会有一个兼容性表。所以你会说使用它很好?是的,把我的评论作为一个答案,使用起来非常好。这是一个优化的对象,也是使用ES6T的一大进步谢谢!!我刚刚更新了我的问题,也许你也有一个关于这个问题的答案?更新了答案,以满足你的第二个问题很好,非常感谢:)谢谢!非常感谢。我刚刚更新了我的问题,也许你也有一个关于这个问题的答案?更新了答案,以满足你的第二个问题很好,非常感谢:)谢谢!