Map object into array then output value with jQuery

by aaronk85

JavaScript

var name = ["andrew", "vic", "casey", "andrew", "vic", "casey"];
        var job = ["builder", "baker", "dentist", "builder", "baker", "dentist"];
        var product = [111, 222, 111, 222, 222, 222];
        var qty = [1, 2, 3, 3, 2, 3];
        var data = {};
        for (i = 0; i < name.length; i++) {
            if (!data[name[i]]) {
                a = {
                    "name": name[i],
                        "job": job[i],
                        "product": product[i],
                        "qty": qty[i]
                };
                a['xtra-' + product[i]] = qty[i];
                data[name[i]] = a;
            } else {
                if (!data[product[i]]) {
                    data[product[i]]
                }
                else {
                    a.qty += +qty[i];
                }
                a.qty += +qty[i];
                a = data[name[i]];
            }
           // console.log(a);
        }
        data = $.map(data, function (val, key) {
            return val;
        });
        data.sort();
        $.each(data, function (i, val) {
            $('body').append(val.name + ' - ' + val.job + ' - (' + val.product + ' - ' + val.qty + ') - ' + (val['xtra-' + val.product]) + '<br>');
        });