Я хочу вывод в указанном формате - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь создать карту времени с помощью электронных диаграмм js. Надеюсь, я не могу понять, как создавать "optiosn", как требуется. Используя этот код, я получил 'option', как показано на рисунке ниже.

import axios from 'axios'

const data = []
const date= []
let options= []

axios.get('https://data.nepalcorona.info/api/v1/covid').then((res) => {
  const array = res.data
  const groups = array.reduce((groups, info) =>{
    const date = info.reportedOn;
    if (!groups[date]) {
      groups[date] = [];
    }
    groups[date].push(info);
    return groups;
  }, {});
  const groupingDate = Object.keys(groups).map((date) =>{
    return{
      date: date,
      infos: groups[date]
    };

  })
  const sortedData = groupingDate.sort((a,b) => {
    var dateA = new Date(a.date) , dateB = new Date(b.date)
    return  dateA - dateB
  })
  for(let i=0; i< sortedData.length; i++) {
    date.push(sortedData[i].date)
    const array = sortedData[i].infos
    data.push(array)
  }
  const points= [];
  const newlist = data.map(x => {
    points.push([x[0].point.coordinates[0], x[0].point.coordinates[1], x[0].age]);
    return {
      series:{
        data: points.slice(0)
      }
    }
  })
  options.push(newlist)
  console.log(options)
})
export default {
...
options: [options][0],
...
}

Результат получен следующим образом: Result obtained

Но я не хочу лишний массив, как он получается. Мне нужны параметры, как показано ниже:

параметры: Объект --- baseOption: Объект --- параметры: Массив [67]

Надеюсь, вы понимаете, что я говоря.

1 Ответ

1 голос
/ 19 июня 2020

используйте оператор распространения в третьей последней строке, как показано ниже

options.push(...newlist)

вместо

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