JSFiddle - React, Tailwind, and code Playground

by ryanwheale

JavaScript

var headers = ['col_1', 'col_2'];
var data = [['x0', 0.34], ['x1', 0.35]];

function unpack(headers, data) {
    var unpacked = [], obj, i, il, n, nl;
    for (i = 0, il = data.length; i < il; i++) {
        obj = {};
        for (n = 0, nl = headers.length; n < nl; n++) {
            obj[headers[n]] = data[i][n];
        }
        
        unpacked.push([obj]);
    }
    
    return unpacked;
}

function pack(headers, data) {
    var packed = [], arr, i, il, n, nl;
    for (i = 0, il = data.length; i < il; i++) {
        arr = [];
        for (n = 0, nl = headers.length; n < nl; n++) {
            arr.push(data[i][0][ headers[n] ]);
        }
        packed.push(arr);
    }
    return packed;
}

var unpacked = unpack(headers, data);
var packed = pack(headers, unpacked);
console.log(unpacked, packed);