Salve salve a todos, tenho este array de strings:
const produtos = ["camisa-PP",
"camisa-M",
"camisa-G",
"camisa-GG",
"camisa-GG",
"camiseta-PP",
"camiseta-G",
"cueca-M",
"blusa-XG",
"blusa-XG",
"blusa-XG",
"blusa-P"];
E preciso convertê-lo para o seguinte formato:
{
"camisa": {
"PP": 1,
"M": 1,
"G": 1,
"GG": 2
},
"camiseta": {
"PP": 1,
"G": 1
},
"cueca": {
"M": 1
},
"blusa": {
"XG": 3,
"P": 1
}
}
Até agora obtive sucesso em utilizar o split( ) para substituir os separadores de traço ( - ) , para dois pontos ( : ) , e em convertê-lo para um JSON, da seguinte maneira:
var json = produtos.map(elements => JSON.parse(`{"${elements.split('-').join('":"')}"}`));
console.log(json);
Contudo emperrei ao encontrar solução para agrupar os items repetidos e contabilizar a quantidade dos tamanhos disponíveis.
Alguém poderia me dar uma luz de como fazer isto ?
Muito obrigado !