ну, я бы просто разделил количество элементов на количество данных, которые я хочу отобразить на странице, с помощью оператора rest и создал бы количество страниц + 1, конечно, с некоторыми проверками для очистки данных и т. Д.
Представьте, что вы получаете объект, который содержит списки, эти списки представляют все массивы с вашими данными, каждый массив представляет собой строку.
Просто получите длину, разделите ее с помощью оператора модуля и добавьте еще один, в вашем случае, если у вас есть 52 элемента и вы хотите иметь 10 на страницу:
52% 10 = 2
52/10 = 5
вам нужно 5 страниц + 1 для 2 пунктов.
так что я бы сделал что-то вроде этого:
const NUMBER_ITEMS_PER_PAGE = 10;
const numberItems = list.length;
const pages = numberItems / NUMBER_ITEMS_PER_PAGE
if(numberItems % NUMBER_ITEMS_PER_PAGE > 0) {
pages++;
}
function buildPages(numberPages) {
const pageObj = {}
for(var i = 0; i < pages; i++) {
pageObj.page[i+1]
const arr = []
for(var j = 0; j < (NUMBER_ITEMS_PER_PAGE) * (i + 1); j++) {
arr.push(lists[i])
}
pageObj.page[i+1] = arr;
}
}
Конечно, это только одно из возможных решений, но я думаю, что это может позволить вам начать каким-то образом, код только для того, чтобы помочь. удачи