如何对Chart.js中的数组值求和/除法?

问题描述 投票:2回答:2

我有这个变量要放在图表中:

var datiedu2 = {
            "labels": ['Lavori non terminati', 'Lavori in corso'],
            "datasets": 
                      [{
                           label: 'Numero',
                           data: [arrayItem['Value1'] + arrayItem['Value2']],
                           backgroundColor: 'rgb(255, 99, 132)',
                           borderWidth: 1
                      }]
               };

我无法用数组项求和或除。它们属于一个变量,其结构如下:

 var myJSON = [
  {
    "": 0,
    "Comune": "BONDENO",
    "PUNTEGGIOSCUOLA1516": 4.25,
    "Value 1": 63,
    "Value 2": 8,
    "Value 3": 17,
    "DANNO": 6,
    "Somma valori": 88,
  },
  {
    "": 1,
    "Comune": "CAVEZZO",
    "PUNTEGGIOSCUOLA1516": 3.75,
    "Value 1": 23,
    "Value 2": 2,
    "Value 3": 9,
    "DANNO": 8,
    "Somma valori": 34,

  }

什么是最好的选择?

谢谢。

javascript html chart.js
2个回答
0
投票
仅循环遍历json数组,然后将值添加到sum变量,然后将其添加到图表。

此代码将执行:

var sum=0; for(item of myJSON) { let subsum=item["Value 1"]+item["Value 2"]+item["Value 3"]; sum+=subsum; }

然后更新代码,如下所示:

var datiedu2 = { "labels": ['Lavori non terminati', 'Lavori in corso'], "datasets": [{ label: 'Numero', data: sum, backgroundColor: 'rgb(255, 99, 132)', borderWidth: 1 }] };


0
投票

var myJSON = [{ "": 0, "Comune": "BONDENO", "PUNTEGGIOSCUOLA1516": 4.25, "Value 1": 63, "Value 2": 8, "Value 3": 17, "DANNO": 6, "Somma valori": 88, }, { "": 1, "Comune": "CAVEZZO", "PUNTEGGIOSCUOLA1516": 3.75, "Value 1": 23, "Value 2": 2, "Value 3": 9, "DANNO": 8, "Somma valori": 34, } ]; function getAverage(arr) { const sum = arr.reduce((acc, x) => acc + x['Value 1'] + x['Value 2'] + x['Value 3'], 0); return (sum / arr.length); } const result = getAverage(myJSON); console.log(result)
© www.soinside.com 2019 - 2024. All rights reserved.