Como inverter um array sem modificar o original em JS
Neste artigo você vai aprender a como inverter um array sem modificar o original utilizando a linguagem JavaScript e seus recursos

Fala programador(a), beleza? Bora aprender mais sobre arrays em JavaScript!
Vamos utilizar uma estratégia interessante para resolver este problema
O método reverse acaba afetando o array original, mesmo que utilizando numa atribuição de nova variável
Então em conjunto deste, que faz exatamente o que precisamos, podemos criar a cópia com o método slice
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 118 aulas
- 4 projetos
- 9h 33min
Isso gera uma lista invertida, sem afetar a orignal
Veja um exemplo de código:
const list = [1, 2, 3, 4, 5] const invertedList = list.slice().reverse() console.log(list) // [1, 2, 3, 4, 5] console.log(invertedList) // [5, 4, 3, 2, 1]
Veja que temos duas variáveis:
- list: nosso array original;
- invertedList: nossa lista invertida, utilizando a estratégia de slice e reverse;
Agora basta você adaptar para os nomes das variávieis que deseja utilizar
E também aplicar as suas operações o array gerado invertido e também o array original
Deixe um comentário contando o que achou deste artigo 🙂
Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:
Conclusão
No artigo de hoje você aprendeu a como inverter um array sem modificar o original em JavaScript
Para criar a cópia do array original utilizamos slice, sem colocar parâmetros, isso nos entrega o array total
Pois slice também é utilizado para extrair elementos
Por fim, utilizamos o reverse que inverte o array e assim temos o resultado final
Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!
Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!
Outra forma: usando o spread operator
Ele espalha os itens do array original dentro de um array novo, e aí o reverse trabalha em cima da cópia, não no original
Os dois jeitos entregam a lista invertida sem mexer no original, escolhe o que ficar mais natural pra ti
Por que o reverse() altera o array original?
O reverse() inverte a ordem no próprio array, ali mesmo, sem gerar uma cópia
Em inglês chamam isso de método in-place: ele modifica quem chamou
Por isso, mesmo que você jogue o resultado numa variável nova, o array de origem também vem invertido junto
É justamente por isso que a gente cria uma cópia antes (com slice ou spread) e só então chama o reverse
Perguntas frequentes
O slice() sem parâmetro copia o array inteiro?
Sim, chamando slice() sem nenhum parâmetro ele devolve uma cópia com todos os elementos, e é essa cópia que a gente inverte
Qual a diferença entre slice() e spread para copiar?
Os dois criam um novo array com os mesmos itens, então pra esse caso o resultado é o mesmo, fica a gosto do freguês
O reverse() sozinho serve se eu não me importar com o original?
Serve, se você não precisa mais do array na ordem de origem, pode chamar o reverse direto, sem cópia nenhuma
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
As diferenças de var, let e const

Como redirecionar para outra página com JavaScript
Exercícios de lógica de programação JavaScript com gabarito
Quais são os melhores exercícios lógica de programação JavaScript? Colocar em prática os exercícios de lógica de programação em JavaScript é de extrema importância para […]
