Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

184
Visualizações
Divida la matriz de objetos en una nueva matriz u objetos según el valor dado

Tengo una serie de objetos que se parecen a esto;

 value = [{id:1, count:50},{id:1, count:25}]

Necesito por debajo de tres senario como a continuación. escenario 1

 result1 = [ [ { id: 1, qty: 25 } ], [ { id: 1, qty: 25 } ], [ { id: 2, qty: 25 } ] ]

escenario:- 2

 result2 = [ [ { id: 1, qty: 50 }, { id: 2, qty: 25 } ] ]

escenario:-3

 [ [ { id: 1, qty: 50 }, { id: 2, qty: 15 } ], [ { id: 2, qty: 10 }] ]

He resuelto el escenario 1 y el escenario 2, sin embargo, tengo problemas de lógica en el escenario 3.

por favor vea a continuación el código JS

 let temp = 0; let arr = []; let result = []; let receive_list = [ { id: 1, qty: 50 }, { id: 2, qty: 25 }, ] const packing_weight = 65; receive_list.forEach(item => { let availableQty = item.qty;//50 while (availableQty > 0) { if (availableQty > packing_weight) { arr.push({ id: item.id, qty: packing_weight }); availableQty = availableQty - packing_weight; //25 temp += packing_weight; } else { arr.push({ id: item.id, qty: availableQty }); temp += availableQty; availableQty = 0; } if(temp === packing_weight){ result.push(arr); temp = 0; arr = []; } } })

Necesito el resultado a continuación que obtengo resultado de matriz vacía = [] en lugar del resultado a continuación [ [ { id: 1, qty: 50 }, { id: 2, qty: 15 } ], [ { id: 2, qty: 10 }] ]

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda