Olá Marcos, tudo bem?
Temos dois pontos para conversar, vamos lá!
Como obter a posição de um elemento de forma mais automatizada
Nós podemos encontrar a posição da cidade utilizando o método findIndex()
do JavaScript, que tem o papel de retornar o índice do elemento do array que estamos procurando. O findIndex desempenha o seu papel em conjunto com uma outra função, que é passada por parâmetro para ele.
Primeiro, criaremos essa função que auxilia o findIndex
. Ela tem o objetivo de retornar o nome da cidade que queremos encontrar a posição, neste caso 'Sergipe'.
function encontrarCidade (cidade) {
return cidade === 'Sergipe'
}
Em seguida, iremos adicionar o findIndex
ao nosso array listaDeDestino
e chamaremos a função encontrarCidade
no parâmetro.
listaDeDestinos.findIndex(encontrarCidade)
Beleza! Então para vermos no console.log
qual é o índice de 'Sergipe', armazenaremos o método em uma variável.
let posicaoElemento = listaDeDestinos.findIndex(encontrarCidade)
console.log('A posição de Sergipe é: ' + posicaoElemento)
Resultado:
A posição de Sergipe é: 3
Dessa forma, quando você quiser encontrar o índice de qualquer elemento da sua lista de 68 posições, basta substituir 'Sergipe' na função encontrarCidade
pelo nome do elemento que está procurando.
Como adicionar o elemento novamente a sua posição de origem
Assim como você fez, iremos excluir 'Rio de Janeiro' do array.
listaDeDestinos.splice(2,1);
console.log(listaDeDestinos);
Resultado:
Lista de destinos = salvador,São Paulo,Sergipe
Agora, adicionaremos 'Rio de Janeiro' a sua posição de origem, só que dessa vez passaremos 3 argumentos no parâmetro. Veja:
listaDeDestinos.splice(2, 0, 'Rio de Janeiro')
console.log('Lista de destinos = ' + listaDeDestinos);
Resultado:
Lista de destinos = salvador,São Paulo,Rio de Janeiro,Sergipe
O primeiro parâmetro é referente a posição que estamos trabalhando, o segundo sendo 0 indica que nenhum elemento está sendo removido e o terceiro é o elemento que ocupará essa posição.
Código completo:
const listaDeDestinos = new Array(
'salvador',
'São Paulo',
'Rio de Janeiro',
'Sergipe')
function encontrarCidade(cidade) {
return cidade === 'Sergipe'
}
let posicaoElemento = listaDeDestinos.findIndex(encontrarCidade)
console.log('A posição de Sergipe é: ' + posicaoElemento)
listaDeDestinos.splice(2,1);
console.log('Lista de destinos = ' + listaDeDestinos);
listaDeDestinos.splice(2, 0, 'Rio de Janeiro')
console.log('Lista de destinos = ' + listaDeDestinos);
Aproveito para indicar esse curso novo da plataforma que foca bastante em listas, acho que você irá se interessar.
Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!