Estoy haciendo paginación en una inserción y quería dividir 4 elementos de una matriz para cada página. ¿Cómo hago esto? (para actualizar cuando hago clic en el botón). Hasta entonces solo tengo el primer paso que es obtener los primeros 4 elementos, desde la primera página, con:
.slice(0, 4)
¿Cómo obtengo los siguientes 4, y los siguientes, y así sucesivamente?
necesitas definir:
He escrito 3 métodos
loadFirstPage()loadNextPage()loadPrevPage() const input = [1,2,3,4,5,6,7,8,9,10,11,12,13]; let currentPage = 1; let pageSize = 4; const countPages = Math.ceil(input.length / pageSize); function loadFirstPage() { currentPage = 1; return [...input].splice(0, pageSize) } function loadNextPage() { const nextPage = currentPage + 1; if (nextPage <= countPages) { currentPage = nextPage; const startIndex = currentPage * pageSize - pageSize; return [...input].splice(startIndex, pageSize) } else { currentPage = countPages; const startIndex = currentPage * pageSize - pageSize; return [...input].splice(startIndex, pageSize) } } function loadPrevPage() { const prevPage = currentPage - 1; if (prevPage >= 1) { currentPage = prevPage; const startIndex = currentPage * pageSize - pageSize; return [...input].splice(startIndex, pageSize) } else { currentPage = 1; const startIndex = currentPage * pageSize - pageSize; return [...input].splice(startIndex, pageSize) } } console.log('output data: ', loadFirstPage(), 'current page: ', currentPage); console.log('output data: ', loadNextPage(), 'current page: ', currentPage); console.log('output data: ', loadNextPage(), 'current page: ', currentPage); console.log('output data: ', loadNextPage(), 'current page: ', currentPage); console.log('output data: ', loadNextPage(), 'current page: ', currentPage); console.log('output data: ', loadPrevPage(), 'current page: ', currentPage); console.log('output data: ', loadPrevPage(), 'current page: ', currentPage); console.log('output data: ', loadPrevPage(), 'current page: ', currentPage); console.log('output data: ', loadPrevPage(), 'current page: ', currentPage);