Williammer
4/23/2016 - 7:58 AM

Functional programming - reduce [iterate, mutate inside and outside] - sample cases

Functional programming - reduce [iterate, mutate inside and outside] - sample cases

var fs = require('fs')

var out = fs.readFileSync('src.txt', 'utf8')
    .trim().split('\n')
    .reduce(function (acc, cur) {
        var curArr = cur.split('  ');
        if (typeof acc[curArr[0]] !== 'object') {
            acc[curArr[0]] = [];
        }

        acc[curArr[0]].push({
            name: curArr[1],
            price: curArr[2],
            quantity: curArr[3]
        })

        return acc
    }, {})

console.log('out', JSON.stringify(out, null, 2))