Преобразовать массивы в объект в угловых - PullRequest
0 голосов
/ 23 декабря 2019

Я создаю линейную диаграмму с d3 в Angular 8. Я следую некоторому примеру с TEMPERATURES. Но мой API получает следующий формат.

Данные от API

{
    "status": 200,
    "data": {
        "dashboard_data": [
            [
                2014-04-01,
                2920.0,
                239.44000000000003
            ],
            [
                2014-04-02,
                2260.0,
                185.32000000000002
            ],
            [
                2014-04-03,
                156.0,
                12.792
            ],
            [
                2014-04-04,
                980.0,
                80.36
            ],
            [
                2014-04-05,
                1515.0,
                124.22999999999999
            ],
        ],


    }
}

Нужны данные в этом формате

TEMPERATURES = [
    {
        'values': [
            {'date': new Date('2012-09-05'), 'temperature': 77.7},
            {'date': new Date('2012-09-06'), 'temperature': 74.2},
            {'date': new Date('2012-09-07'), 'temperature': 76.0},
        ]
    },
    ];

Я ищу решение, как мне конвертировать dashboard_data с values? ТИА

1 Ответ

0 голосов
/ 23 декабря 2019

Попробуйте так:

 TEMPERATURES = [];

  constructor() {
    let obj = {};
    obj["values"] = this.input.data.dashboard_data.map(item => ({
      date: new Date(item[0]),
      temperature : item[2]
    }))
    this.TEMPERATURES.push(obj)
  }

Рабочая демоверсия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...