Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

228
Vistas
¿Cómo separar mi matriz en algunas partes en discord.js?

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?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

necesitas definir:

  • variable currentPage (establecida en 1 como valor predeterminado)
  • pageSize: cuántos elementos debe haber para una página
  • countPages - para el cálculo, redondeado en el lado más grande

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);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda