Advanced reduce use
by Neviton
HTML
<textarea name="" id="csv" cols="60" rows="10">
Neviton Araujo; Notebook AlienWare; R$ 4.000,00
Neviton Araujo; Shape Element; R$ 200,00
Neviton Araujo; PlayStation 4; R$ 2200,00
Sara Araujo; Tennis Mizuno; R$ 180,00
Sara Araujo; Blusa,;R$ 50,00
Thiago Araujo; Carrinho Azul; R$ 30,00
Vitor Araujo; Carrinho Verde; R$ 30,00
</textarea>
JavaScript
var csv = document.getElementById('csv').value.trim().split('\n'),
res = csv.reduce(function(result, current, index){
var columns = current.split(';');
result[columns[0]] = result[columns[0]] || [];
result[columns[0]].push({
item: columns[1].trim(),
price: columns[2].trim()
});
return result;
}, {});
console.log(JSON.stringify(res, null, 4));