当前位置: 首页 > 知识库问答 >
问题:

添加新项时数组重复

那安宁
2023-03-14

这是我在ionic应用程序中使用的代码,用于从FireBase中提取产品。

  public menuItems: Array<any> = [];
  public selectedItems: Array<any> = [];
  menuItem: FirebaseListObservable<any>;
this.id = this.navParams.get('id');
      this.menuItem = af.database.list('/menuItems', {
        query: {
          orderByChild: 'category',
          equalTo: this.id
        }
      })

      this.menuItem.subscribe((data) => {
        this.menuItems = data;

        for (var i = 0; i <= this.menuItems.length - 1; i++) {
          if (this.menuItems[i].category == this.id) {
            this.selectedItems.push(this.menuItems[i]);
            this.items = this.selectedItems;
          }
        }
      })

一个例子:

如果我有这样的项目列表:

    null
  • 项目1
  • 项目2
  • 项目3
  • 项目4
  • 项目1
  • 项目2
  • 项目3
  • 项目4

我不知道它为什么这样做,任何帮助将是非常感谢的。

共有1个答案

胡厉刚
2023-03-14

相当简单。你得做点小调整。

更改此:

    for (var i = 0; i <= this.menuItems.length - 1; i++) {
      if (this.menuItems[i].category == this.id) {
        this.selectedItems.push(this.menuItems[i]);
        this.items = this.selectedItems;
      }
    }

进入:

        let selectedItems: any[] = [];
        for (var i = 0; i <= this.menuItems.length - 1; i++) {
          if (this.menuItems[i].category == this.id) {
            selectedItems.push(this.menuItems[i]);
          }
        }
        this.items = selectedItems;
 类似资料:
  • 当您将一个项目添加到一个ObservableList中(该列表显示在TableView中)时,如何在添加重复项目时更新行? 例如,考虑一个包含三个列的TableView:项目、数量和价格。这可以通过以下代码来实现: 在其当前形式中,您可以得到如下表: 项目 --------- 数量 ----- 价格。 炒面----- 1 ----------- 4.20。 泰国-------- 1 -------

  • 你好,我是一个新的程序员,我正在尝试格式化数组的方式,在一个特定的数组的结尾有一个换行符。我目前有4个单独的数组,我想在其中排列数组中的每个项到一个特定的模式。我已经完成了这项任务,但现在我被难倒了,因为他们都在一条线上。让我给你举个例子:(顺便说一下,我在datagridview上这样做) 这是我的代码: 我也试着做了这样的事情: 这就总结了我的问题,我真的希望你能帮助一个像我这样的新手,我有一

  • 我们正在使用Wordpress将菜单项添加到我们的导航栏。Cleary这使得更改变得简单,但它阻止了某些自定义。具体来说,我们希望更改导航栏中单个菜单项的颜色。有没有办法“添加”一个菜单项到数组的末尾,这样它就总是在最后一个位置,并且在导航栏中是不同的颜色?我意识到我们需要在CSS中创建一个样式来更改最后一个项目的颜色。 例如,当前导航栏: 主页关于美国产品/服务行业链接“联系我们” 我们想让“联

  • 我对Java编程相对较新,正在尝试使用(2017-3017)中的值创建一个数组。 我想知道是否有一种方法可以创建一个数组并预先填充这些值,而不是这样做: 这似乎非常冗长,我可以简单地定义我希望添加到数组中的整数范围。 我知道在网站上有类似的问题,但是没有一个能帮助我。 谢啦! 编辑:我忘了提到我正在使用Java7,因此不能使用IntStream。

  • 我有一些object.id-s,我试图将其作为元组存储在用户会话中。当我添加第一个时,它可以工作,但是tuple看起来像,但是当我尝试使用添加新的tuple