Clase de paginación con POO

Tu tarea es crear una class para gestionar contenido paginado en un sitio web. La paginación se usa para dividir listas largas de contenido en una serie de páginas.

Example

La class de paginación aceptará 2 parámetros:

  1. items (predeterminado: []): Un array de contenidos para paginar.

  2. pageSize (predeterminado: 10): La cantidad de elementos que se mostrarán en cada página.

Así, por ejemplo, podríamos inicializar nuestra paginación de esta manera:

const alphabetArray = "abcdefghijklmnopqrstuvwxyz".split("");

const p = new Pagination(alphabetArray, 4);

Después, usa el método getVisibleItems para mostrar el contenido del arreglo paginado.

console.log(p.getVisibleItems()); // ["a", "b", "c", "d"]

Deberás implementar varios métodos para recorrer las páginas, como los siguientes:

  • prevPage
  • nextPage
  • firstPage
  • lastPage
  • goToPage

Esta es una continuación del ejemplo anterior usando nextPage y lastPage:

p.nextPage();

console.log(p.getVisibleItems());
// ["e", "f", "g", "h"]

p.lastPage();

console.log(p.getVisibleItems());
// ["y", "z"]

Notas

  • No es necesario que uses una class de ES6 si no quieres.
  • El segundo argumento (pageSize) podría ser un float; en ese caso, simplemente conviértelo en un int (esto también aplica al método goToPage).
  • Los métodos que se usan para cambiar de página deben permitir encadenamiento, para que puedas llamarlos uno tras otro así: p.nextPage().nextPage();
  • Elimina los comentarios que proporcioné antes de publicar tu solución.