如何获取连续数组对象的键的总和并删除重复项?

How to get the sum of a key of consecutive array object and remove the duplicates?

我有一个主数组-

const arr = [
    {  description: 'Senior', amount: 50 },
    {  description: 'Senior', amount: 50 },
    {  description: 'Adult', amount: 75 },
    {  description: 'Adult', amount: 35 },
    {  description: 'Infant', amount: 25 },
    {  description: 'Senior', amount: 150 }
]

我需要有关 es6 操作的帮助,该操作将根据键(描述)添加数量并删除重复项。

结果数组有点像 -

const newArr = [
        {  description: 'Senior', amount: 100 },
        {  description: 'Adult', amount: 110 },
        {  description: 'Infant', amount: 25 },
        {  description: 'Senior', amount: 150 }
]

请注意,分组只会对具有相似键的连续对象进行。

我一直在使用 reduce 运算符通过解决方案实现这一点,但这也删除了不连续的对象。

如果有人能帮我用一些 es6 运算符来执行相同的操作,那将非常有帮助。

这样

const arr = 
  [ { description: 'Senior', amount:  50 } 
  , { description: 'Senior', amount:  50 } 
  , { description: 'Adult',  amount:  75 } 
  , { description: 'Adult',  amount:  35 } 
  , { description: 'Infant', amount:  25 } 
  , { description: 'Senior', amount: 150 } 
  ] 

const newArr = 
  arr.reduce((res,{description,amount},i,{[i-1]:prev})=>
    {
    if (!prev || description != prev.description )
      res.push({description,amount})
    else
      res[res.length-1].amount += amount
    return res
    },[])

console.log( newArr )
.as-console-wrapper {max-height: 100%!important;top:0 }