Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

340
Visualizações
How to get next and previous five element of from an array?

I have an array which consist n element.

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

and also have two button next and prev and initially i am showing the first 5 element(on page load) of an array initial array [1, 2, 3, 4, 5]

how i can show the next five elements on the next button click [6, 7, 8, 9, 10] and on previous button click want to show the [1, 2, 3, 4, 5]

and also need to check the if it does not have any next element if lastIndex is included and if array includes first element.

i have tried using slice to arr.slice(begin[, end])

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

You could take an index and a size for the wanted elements ans dlice the array.

const
    data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],
    show = array => document.getElementById('items').innerHTML = array.join(' '),
    next = () => {
        index += size;
        while (index >= data.length) index -= size;
        show(data.slice(index, index + size));
    },
    prev = () => {
        index -= size;
        while (index < 0) index += size;
        show(data.slice(index, index + size));
    },
    size = 5;

let index = 0;

document.getElementById('bprev').addEventListener('click', prev);
document.getElementById('bnext').addEventListener('click', next);

show(data.slice(index, index + size));
<button id="bprev">prev</button> <span id="items"></span> <button id="bnext">next</button>

about 4 years ago · Juan Pablo Isaza Relatório

0

const arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
const size = 5
let current = 1

function prev(){
  if(current > 1){
    current--
    let newArr = getNewArr()
    console.log(newArr)
  }
}

function next(){
  if(current >= 1 && current < arr.length/size){
    current++
    let newArr = getNewArr()
    console.log(newArr)
  }
}

function getNewArr(){
  return arr.slice(size*current - size, size*current)
}
<button onclick=prev()>prev</button>
<button onclick=next()>next</button>

about 4 years ago · Juan Pablo Isaza Relatório

0

For now I am just creating a demo with the hardcoded pageNumber in next and previous click events but you can make it dynamic based on the array size.

Working Demo :

// Input array
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// Method which returns the updated array elements based on the pageSize and pageNumber.
const paginate = (array, pageSize, pageNumber) => {
  return array.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
}

// On load initializing 5 elements.
document.getElementById('content').innerHTML =  paginate(arr, 5, 1);

// Next button click event
document.getElementById('next').onclick = function() {
    document.getElementById('content').innerHTML =  paginate(arr, 5, 2);
};

// previous button click event
document.getElementById('previous').onclick = function() {
    document.getElementById('content').innerHTML =  paginate(arr, 5, 1);
};
<button id="previous">Previous</button>
<span id="content"></span>
<button id="next">Next</button>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda