JSFiddle - React, Tailwind, and code Playground
JavaScript
function groupBy(array, f) {
var groups = {};
array.forEach(function (o) {
var group = JSON.stringify(f(o));
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function (group) {
return groups[group];
})
}
var arr = ['ar', 'ar', 'ar', 'ar', 'at', 'br', 'de', 'de', 'de',
'jp', 'jp', 'us', 'us', 'us', 'us', 'us', 'us'];
arr = groupBy(arr, function (item) {
return [item];
});
var table = document.createElement('table');
table.style.border = '1px solid black';
for (var i = 0; i < arr.length; i++) {
var tr = document.createElement('tr');
table.appendChild(tr);
var td_dmxn = document.createElement('td');
td_dmxn.style.border = "1px solid black";
td_dmxn.innerHTML = arr[i];
td_dmxn.style.textAlign = "center";
var row = arr[i],
prevRow = arr[i - 1];
if (prevRow && row === prevRow) {
td_dmxn.innerHTML = '';
} else {
}
$(tr).append(td_dmxn);
}
document.body.appendChild(table);