JavaScript

Trocar elemento de array de posição em JavaScript

15 de novembro de 2021

Trocar elemento de array de posição em JavaScript

Neste artigo você vai aprender a como trocar elemento de array de posição, de uma maneira super simples e rápida

Trocar elemento de array de posição capa

Fala programador(a), beleza? Bora aprender mais sobre arrays e JavaScript!

Vamos criar uma função que vai receber um array, qual o índice que queremos alterar, e para qual índice ele vai

Dentro da função vamos utilizar o splice para movimentar, que é um método de array utilizado para extrair um elemento

Então basicamente extraímos de um local e colocaremos em outro

Veja o código de exemplo:

const myList = ['b', 'c', 'd', 'a']

function moveArrayElement(arr, from, to) {
    var el = arr[from];
    arr.splice(from, 1);
    arr.splice(to, 0, el);
};

moveArrayElement(myList, 3, 0)

console.log(myList); // ["a", "b", "c", "d"]

Basicamente o splice nos permite inserir o elemento em locais específicos, e remover também

Os parâmetos que recebem os índices cuidam disto

Note que o splice manipula o array original, então não precisamos reatribuir nada a uma nova variável ou criar um retorno para a nossa função

Conclusão

Neste artigo você aprendeu a como trocar elemento de array de posição em JavaScript

Criamos uma função para resolver o problema, ela utilize em sua essência o método splice

Que é uma função nativa de JS para lidar com arrays

Conseguimos assim extrair o elemento de onde precisamos, e colocá-lo em usa nova posição

Manipulando o array original, agora reorganizado da forma que escolhemos

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x