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 Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
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 SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
