Group and add arrays with equal properties

Asked

Viewed 75 times

1

x [{produtoId: 5, quantidade: 10},
   {produtoId: 6, quantidade: 20},
   {produtoId: 5, quantidade:  7}]

y[{produtoId: 5, quantidade: 17},
  {produtoId: 6, quantidade: 20}]

I need to transform the X array into the Y array someone can help me?

1 answer

0

A way to implement using ties for is the following:

const x = [{produtoId: 5, quantidade: 10},
   {produtoId: 6, quantidade: 20},
   {produtoId: 5, quantidade:  7}]
   const y = []
   let inserir = true;
  for (let i = 0; i< x.length; i++) {
    for (let j = 0; j< y.length;j++) {
      if (y[j].produtoId === x[i].produtoId) {
        inserir = false;
        y[j].quantidade += x[i].quantidade;
      }
    }
    if (inserir) {
      y.push(x[i])
    }
  }
  console.log(y)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.