javascript - Angular 2 : Using Set? 浏览器兼容性和迭代不可能

标签 javascript angular firebase firebase-realtime-database

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

mySet = new Set();

this.mySet.add(e);

用户单击“添加用户”按钮后,用户应被发送到 Firebase 数据库。 我被一位用户推荐使用这里的设置,但后来我发现 https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Set ,很多设备并不真正支持该套件,所以我害怕使用它。您对此有何看法? 在将数据发送到 firebase 数据库之前是否有其他方法/更好的方法来保存数据?

编辑: 所以这似乎是一个合法的方法(参见答案) 现在我有另一个问题:我无法迭代集合。 正如你所看到的,我有一个集合,附加值。 然后调用

    for (let entry of this.mySet) {
      console.log(entry);
  }

this.mySet 是下红线,它告诉我“类型集不是数组”。 如前所述,我正在使用 Angular 。 对此有什么想法吗?

最佳答案

关于浏览器兼容性,您可以使用此polyfill来确保Set始终可用

https://www.npmjs.com/package/es6-set

关于迭代集合条目的问题,您可以使用 forEach,如 MDN docs 中所述。 .

下面是一个示例。

this.mySet.forEach((entry: string) => {
   console.log(entry);
});

关于javascript - Angular 2 : Using Set? 浏览器兼容性和迭代不可能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442210/

相关文章:

javascript - 将 Tailwind 添加到 Solidus 商店

javascript - 悬停在工具提示上时工具提示闪烁

javascript - Firebase 检查值是否为空

firebase - 将来自 Firebase 的 StartAt 与 Flutter 时间戳一起使用

android - Firebase crashlytics 中应用内消息传递崩溃?

ios - Firebase 数据检索,路径内路径

javascript - OnChange 事件计算延迟

javascript - 动态更新 fabric.js 路径点

javascript - ng-template 中的 Angular 6 嵌套 ViewChild 为空

angular - 如何用 Angular 捕获更新 DOM 事件?