JSFiddle - React, Tailwind, and code Playground
by slawe
JavaScript
var table = ['first_name', 'random_5', 'last_name', 'file_id', 'date', 'vin', 'model', 'year'],
csv = ['first_name', 'file_id', 'random_1', 'date', 'last_name', 'random_2', 'vin', 'model', 'year', 'random_3', 'random_4'],
split = {},
merge = [];
compare({
table: table,
csv: csv,
result: merge,
merge: function() {
return diff(this.csv, this.table);
}
});
console.log(merge);
function diff(a, b) {
return a.filter(function(i) {
return b.indexOf(i) < 0;
});
};
function compare(obj) {
return obj.table.filter(function(i) {
if (obj.csv[obj.csv.indexOf(i)] != undefined) {
split = {
table: i,
csv: [obj.csv[obj.csv.indexOf(i)]]
};
} else {
split = {
table: i,
csv: obj.merge()
};
}
obj.result.push(split);
});
};