【问题标题】:Issue with multiple loops and pushing to array多个循环和推送到数组的问题
【发布时间】:2019-03-16 03:30:40
【问题描述】:

我将 Angular/Typescript 与 amcharts 库(版本 4)一起使用,特别是多线图。在构建图表数据时,它似乎只在一次推送到图表数组时才能正常工作。

这是我的代码:

 chart.data = [];

        let hvacData: any = '';
        for (let i = 0; i < this.chartTradeData['HVAC'].length; i++) {
          const newDate = new Date(this.chartTradeData['HVAC'][i]['calendarDate']);
          hvacData = this.chartTradeData['HVAC'][i]['revWorkDay'];
          hvacData = parseInt(hvacData);
          chart.data.push({
            date: newDate,
            hvacData
          });
        }

        let plumbingData: any = '';
        for (let i = 0; i < this.chartTradeData['Plumbing'].length; i++) {
          const newDate = new Date(this.chartTradeData['Plumbing'][i]['calendarDate']);
          plumbingData = this.chartTradeData['Plumbing'][i]['revWorkDay'];
          plumbingData = parseInt(plumbingData);
          chart.data.push({
            date: newDate,
            plumbingData
          });
        }

        let electricalData: any = '';
        for (let i = 0; i < this.chartTradeData['Electrical'].length; i++) {
          const newDate = new Date(this.chartTradeData['Electrical'][i]['calendarDate']);
          electricalData = this.chartTradeData['Electrical'][i]['revWorkDay'];
          electricalData = parseInt(electricalData);
          chart.data.push({
            date: newDate,
            electricalData
          });
        }

如上所示仅呈现图表上的第一行。我需要弄清楚如何一次完成所有这些推送,以便在循环之后看起来像这样:

  chart.data.push({
        date: newDate,
        hvacData,
        plumbingData,
        electricalData
      });
    }

我正在迭代的对象如下所示:

【问题讨论】:

  • 您的代码似乎只是将数据推送到数组中,而不是查找数组中已经存在且具有相同 date 的项,然后对其进行更新。
  • 有什么想法可以实现这一目标吗?有多个数组......它们的长度可能相同也可能不同,并且具有相同的日历日期

标签: javascript arrays typescript amcharts amcharts4


【解决方案1】:

你需要使用addData方法:

chart.addData([...]);

我建议您尝试添加包含所有数据的数组,而不是一次添加一项。

在此处查看有关incremental updates 的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多