Isolution666
@Isolution666
творческая личность

Как правильно расcчитывать пагинацию в JavaScript?

Здравствуйте.
--
Вроде бы вопрос простой, но решение я так и не нашёл.
К примеру, в функции я задаю параметр = 10
Это значит, что скрипт считает вложенность json? и обнаруживает, что там 55 "записей"
В итоге он как то разбивает эти 55 вот так
---
10
10
10
10
10
5

Потом через Array.prototype.slice() я просто достаю части этого json, и получается некая пагинация. Возможно вы скажете, что я занимаюсь ерундой, можно установить готовое решение через npm или yarn и будет мне счастье. Но мне правда надо понять как можно разбивать разное количество записей на то количество "порций", которое я задам, может быть за раз я буду выводить не 10 а 5 или 8 записей.
Собственно, вопрос:
Как мне разбивать любое число записей на параметр любого количества порций, чтобы я мог потом доставать эти куски и высчитывать сколько кнопок пагинации у меня будет ?
Удобно было бы получать это в виде массива.
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
yarkov
@yarkov Куратор тега JavaScript
Проект "Жизнь после смерти" - lifeafterdeath.ru
const data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const itemsPerPage = 3; // элементов на странице

const pages = data.reduce((all, page, i) => {
   const ch = Math.floor(i / itemsPerPage); 
   all[ch] = [].concat((all[ch] || []),  page); 
   return all;
}, []);

console.log(pages);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы