代码之家  ›  专栏  ›  技术社区  ›  rob.m

如何得到循环中每个不同对象的总和?

  •  0
  • rob.m  · 技术社区  · 4 年前

    我读了一个对象很少的sjon,在这个例子中,我有两个对象,但它们可能更多:

    (4) [{…}, {…}, {…}, {…}]0: 
    0:   {
      "date":"3/13/20",
      "ricoverati_con_sintomi":4435,
      "terapia_intensiva":650,
      "totale_ospedalizzati":5085,
      "isolamento_domiciliare":2647,
      " …"
    }   "date":   "3/13/20",
       "ricoverati_con_sintomi":   4435,
       "terapia_intensiva":   650
       "totale_ospedalizzati":   5085
       "isolamento_domiciliare":   2647
       "totale_attualmente_positivi":   7732
       "nuovi_attualmente_positivi":   836
       "dimessi_guariti":   1198
       "deceduti":   890
       "totale_casi":   9820
       "tamponi":   32700
       "__proto__":   Object1:   {
      "date":"3/14/20",
      "ricoverati_con_sintomi":4898,
      "terapia_intensiva":732,
      "totale_ospedalizzati":5630,
      "isolamento_domiciliare":3429,
      " …"
    }   2:   {
      "date":"3/15/20",
      "ricoverati_con_sintomi":5500,
      "terapia_intensiva":767,
      "totale_ospedalizzati":6267,
      "isolamento_domiciliare":3776,
      " …"
    }   3:   {
      "date":"3/16/20",
      "ricoverati_con_sintomi":6171,
      "terapia_intensiva":823,
      "totale_ospedalizzati":6994,
      "isolamento_domiciliare":3867,
      " …"
    }   "length":   4
    "__proto__":   Array(0)
    (index):234 (5) [{…}, {…}, {…}, {…}, {…}]
    

    这就是我如何循环将每个值推入一组全局数组

    $.each( customJsonData, function( key, value ) {
       for (d = 0; d<value.length; d++) {
          var dataSingle = value[d].date;
          labels.push(dataSingle);
          terapia_intensiva.push(value[d].terapia_intensiva);    
          totale_attualmente_positivi.push(value[d].totale_attualmente_positivi);
          nuovi_attualmente_positivi.push(value[d].nuovi_attualmente_positivi);
          dimessi_guariti.push(value[d].dimessi_guariti);
          deceduti.push(value[d].deceduti);
          totale_casi.push(value[d].totale_casi);
       }
     });
    

    但我还需要的是每首歌的总数 object ,在每个 obj 我有:

    0:{
       "date":"3/17/20",
       "ricoverati_con_sintomi":36,
       "terapia_intensiva":4,
       "totale_ospedalizzati":40,
       "isolamento_domiciliare":75,
       "…"
    } 1:{
       "date":"3/18/20",
       "ricoverati_con_sintomi":42,
       "terapia_intensiva":7,
       "totale_ospedalizzati":49,
       "isolamento_domiciliare":83,
       "…"
    } 2:{
       "date":"3/19/20",
       "ricoverati_con_sintomi":43,
       "terapia_intensiva":9,
       "totale_ospedalizzati":52,
       "isolamento_domiciliare":152,
       "…"
    } 3:{
       "date":"3/20/20",
       "ricoverati_con_sintomi":56,
       "terapia_intensiva":15,
       "totale_ospedalizzati":71,
       "isolamento_domiciliare":217,
       "…"
    } 4:{
       "date":"3/21/20",
       "ricoverati_con_sintomi":65,
       "terapia_intensiva":16,
       "totale_ospedalizzati":81,
       "isolamento_domiciliare":240,
       "…"
    }
    

    它们的结构都是这样的:

    0:
      date: "3/17/20"
      ricoverati_con_sintomi: 36
      terapia_intensiva: 4
      totale_ospedalizzati: 40
      isolamento_domiciliare: 75
      totale_attualmente_positivi: 115
      nuovi_attualmente_positivi: 10
      dimessi_guariti: 0
      deceduti: 2
      totale_casi: 117
      tamponi: 1003
    

    我要找的是:

    Obj 0:
       tot. terapia_intensiva
       tot. totale_attualmente_positivi
       tot. nuovi_attualmente_positivi
       tot. dimessi_guariti
       tot. deceduti
       tot. totale_casi
    

    对循环中可能存在的每个对象都这样做。

    然后我得到每个的总数如下:

    array.reduce((a, b) => a + b, 0))
    

    但这是所有的总和,而不是json中每个片段的每个obj的总和

    0 回复  |  直到 4 年前