JSFiddle - React, Tailwind, and code Playground
by joplomacedo
JavaScript
function createTable() {
const items = [];
function padEnd(str, totalPadding, char = ' ') {
let padding = Array.from(Array(totalPadding + 1)).join(char);
return str+padding;
}
return {
addItem(label, value) {
items.push([label, value]);
},
print() {
const maxLabelLength = items.reduce(( max, [label] ) => {
return Math.max(max, label.length);
}, 0);
items.forEach( ([label, value]) => {
const totalPadding = maxLabelLength - label.length;
const paddedLabel = padEnd(label, totalPadding) + ': ';
console.log(paddedLabel+ value);
})
}
}
}
const table = createTable();
table.addItem('lol look', 4)
table.addItem('at dis', 4)
table.addItem('lol look at dis', 4)
table.addItem('jus', 4)
table.addItem('final fantasy', 4)
table.print()