I want to get the following output
expected output
[
  { name: 'mega-service', amount: [ 15, 22 ] },
  { name: 'somethingElse', amount: [ 12, 112 ] },
  { name: 'sms-alert', amount: [ 22 ] },
]
code i have written
const data = [
  {clientServiceName: "mega-service", amount: 15},
  {clientServiceName: "somethingElse", amount: 12},
  {clientServiceName: "somethingElse", amount: 112},
  {clientServiceName: "mega-service", amount: 22},
  {clientServiceName: "sms-alert", amount: 22}
]
const result = [];
data.forEach(d => {
  if(result.length === 0){
    let obj = {
      name: d.clientServiceName,
      amount: [d.amount]
    }
    result.push(obj);
  }else{
    result.forEach(r => {
      if(r.name === d.clientServiceName){
        r.amount = [...r.amount, d.amount]
        // console.log("inside name match")
      }else{
        let anotherObj = {
          name: d.clientServiceName,
          amount: [d.amount]
        }
        result.push(anotherObj);
      }
    })
  }
})
console.log(result)
But i am getting following output
output
[
  { name: 'mega-service', amount: [ 15, 22 ] },
  { name: 'somethingElse', amount: [ 12, 112 ] },
  { name: 'somethingElse', amount: [ 112 ] },
  { name: 'mega-service', amount: [ 22 ] },
  { name: 'mega-service', amount: [ 22 ] },
  { name: 'sms-alert', amount: [ 22 ] },
  { name: 'sms-alert', amount: [ 22 ] },
  { name: 'sms-alert', amount: [ 22 ] },
  { name: 'sms-alert', amount: [ 22 ] },
  { name: 'sms-alert', amount: [ 22 ] }
]
where did i get wrong here to get expected output. please help me to get my expected output
 
     
     
     
     
     
     
    