Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2:使用集合?浏览器兼容性&;迭代是不可能的_Javascript_Angular_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 角度2:使用集合?浏览器兼容性&;迭代是不可能的

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之前,是否有其他方法/更好的方法保存数据 编辑: 因此,这似乎是一种合法的

我有一个Angular 2 Web应用程序。 我想将用户添加到游戏中,在游戏中我有一个带有复选框的屏幕。当一个被击中时,我将其添加到集合中

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的一大进步谢谢!!我刚刚更新了我的问题,也许你也有一个关于这个问题的答案?更新了答案,以满足你的第二个问题很好,非常感谢:)谢谢!非常感谢。我刚刚更新了我的问题,也许你也有一个关于这个问题的答案?更新了答案,以满足你的第二个问题很好,非常感谢:)谢谢!