Всегда возвращайте числа значений внутри массива Javascript

avatar
Rannie Ollit
8 апреля 2018 в 03:50
66
0
0

Добрый день,

У меня есть такие данные JSON,

const incidents = [
   {
      "id": 3,
      "fullName": "Fatima Elaran",
      "address": "San Marcos, Calumpit, Bulacan",
   },
   {
      "id": 4,
      "fullName": "Leni Elaran",
      "address": "San Marcos, Calumpit, Bulacan",
   }
]

Я суммирую итоги по адресам следующим образом:

      const count = incidents.reduce((a, c) => {
        a[c.address] = (a[c.address] || 0) + 1;
        return a;
      }, {});

, который устанавливает count в:

{ San Marcos, Calumpit, Bulacan: 2 }

Итак, теперь я обновляю свою диаграмму, чтобы показать следующие агрегированные данные:

      Object.keys(count).forEach(key => {
        this.barChart.labels.push(key);
      });
      Object.values(count).forEach(data => {
        this.barChart.data.push(data);
      });

Но barChart.data заканчивается этими данными: [2, "San Marcos, Calumpit, Bulacan"]

Я хочу, чтобы это было так: ["San Marcos, Calumpit, Bulacan"]

Источник
Frank Fajardo
8 апреля 2018 в 05:13
0

Какую версию chart.js вы используете? Я не вижу API здесь с barChart.data, который имеет тип массива.

Rannie Ollit
8 апреля 2018 в 05:29
0

vue-chart @FrankFajardo

Frank Fajardo
8 апреля 2018 в 05:45
1

Я обновил ваш вопрос, чтобы сделать его более понятным. Глядя на ваш код, этот цикл: Object.values(count).forEach(data => { this.barChart.data.push(data); }) действительно должен устанавливать barChart.data на [2].

GauravLuthra
8 апреля 2018 в 10:47
0

Object.values(count).forEach(data => { this.barChart.data.push(data); }); правильно добавляет значение 2 к this.barChart.data. Если вы получаете вывод, как вы упомянули, возможно, вы делаете что-то не так. Можете ли вы проверить все места, где вы изменяете this.barChart.data?

Ответы (0)