Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

223
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!