Как разделить массив json на два обр? и пустой [] у пожарного магазина - PullRequest
0 голосов
/ 21 января 2020

У меня есть массив json от firestore. Firesotre join хорошо

мой код

   let query_chart =db.collection('collection').doc('date')

   let chart_data_json =[];
   query_chart.get().then(doc=>{

    if (!doc.exists) {
        console.log('No such document!');
      } else {
        console.log('Document data:', doc.data().time);
        const time = doc.data().time;
        Object.keys(time).map(hour=>{
            const count = time[hour];
            chart_data_json.push({
                hour : hour,
                count: count
            })
        })
        console.log(chart_data_json);

      }
})

let hour=[];
let time=[];

и

моя консоль регистрирует это

[]
0: {hour: "12", count: 0}
1: {hour: "13", count: 0}
2: {hour: "14", count: 0}
3: {hour: "15", count: 1}
4: {hour: "16", count: 0}
5: {hour: "17", count: 0}
6: {hour: "18", count: 0}
length: 7
__proto__: Array(0)

Я использовал код для доступа к этому массиву.

console.log("array",chart_data_json);

но консоль напечатала

"array"undefined

что пусто [] в объекте?

И как это сделать Вы подходите к нему и делите его на два массива: «час» и «время»?

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Здесь вы указали, что у вас есть массив json. Предполагая, что «время» имеет массив, запуск Object.keys (время) даст вам массив индексов. [0,1,2,3]. Вам нужно перебрать массив (время), а затем вы можете запустить карту в l oop.

0 голосов
/ 21 января 2020

[].map() возвращает новый массив, поэтому вам нужно получить его как:

    // get the new list here
    chart_data_json = Object.keys(time).map(hour=>{
        const count = time[hour];
        return { // <--------------return from here
            hour : hour,
            count: count
        }
    })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...