JSFiddle - React, Tailwind, and code Playground
by Alex Alex
JavaScript
function pagination(c, m) {
var current = c,
last = m,
delta = 2,
left = current - delta,
right = current + delta + 1,
range = [],
added = false;
range = [...Array(last+1).keys()].slice(1).map((i) => {
if (i == 1 || i == last || i >= left && i < right) {
added = false;
return i;
} else if (!added) {
added = true;
return '...';
}
}).filter((i) => i);
return console.log(range);
}
for (let i = 1, l = 20; i <= l; i++) {
pagination(i, l);
console.log(`Selected page ${i}:`);
}