Json array merges the same key values and adds value

data are as follows

arr = [{name: "", value: 3},{name: "", value: 3},{name: "", value: 2}]
Mar.09,2021

function trans (arr) {
  let obj = {}
  let result = []
  arr.forEach(({name, value}) => {
    let cur = obj[name]
    if (cur) {
      let index = cur.index
      result[index].value += value
    } else {
      let index = result.length
      obj[name] = {
        name,
        index
      }
      result.push({name, value})
    }
  })
  return result
}
var arr = [{name: "", value: 1},{name: "", value: 2},{name: "", value: 3},{name: "", value: 2}]
trans(arr)

use loops

.

Menu