Summarize array of objects and calculate average value for each unique object name

前端 未结 6 1813
忘了有多久
忘了有多久 2020-12-17 02:31

I have an array like so:

var array = [
     {
       name: \"a\",
       value: 1 
     },
     {
       name: \"a\",
       value: 2 
     },
     {
                


        
6条回答
  •  太阳男子
    2020-12-17 03:26

    Here is a ES2015 version, using reduce

     let arr = [
      { a: 1, b: 1 },
      { a: 2, b: 3 },
      { a: 6, b: 4 },
      { a: 2, b: 1 },
      { a: 8, b: 2 },
      { a: 0, b: 2 },
      { a: 4, b: 3 }
    ]
    
    arr.reduce((a, b, index, self) => {
     const keys = Object.keys(a)
     let c = {} 
    
     keys.map((key) => {
      c[key] = a[key] + b[key]
    
      if (index + 1 === self.length) {
        c[key] = c[key] / self.length
      }
     })
    
     return c
    })
    

提交回复
热议问题