InstruçÔes
Passo 12
O método
splice() pode modificar arrays adicionando ou removendo elementos em qualquer posição, inclusive no meio. Como splice() retorna um array contendo os elementos removidos, vocĂȘ pode usĂĄ-lo para trocar dois elementos em um array sem modificar o original. Isso pode ser feito em uma linha usando a seguinte tĂ©cnica:
// swap elements at i and j without mutating the original
const copy = array.slice();
copy[i] = copy.splice(j, 1, copy[i])[0];
Aqui estĂĄ um exemplo:
const originalArray = [12, 97, 68, 55];
const copyArray = originalArray.slice();
copyArray[1] = copyArray.splice(3, 1, copyArray[1])[0];
console.log(copyArray); // [12, 55, 68, 97]
A técnica, aplicada na terceira line, funciona da seguinte forma:
splice(3, 1, copyArray[1])remove o elemento no Ăndice3(55)- Insere o elemento de
copyArray[1](97) no Ăndice3 splice()retorna[55], um array contendo o elemento removido[0]extrai55desse array- Esse valor (
55) Ă© atribuĂdo de volta acopyArray[1], completando a troca
updatedCrew array para trocar os astronautas em fromIndex e toIndex.
O que fazer:
Testes:
- VocĂȘ deve realizar a troca fazendo uma chamada ao `splice()` method.
- VocĂȘ deve fazer uma chamada a `splice()` com o array `updatedCrew` para realizar a troca. VocĂȘ deve usar a tĂ©cnica de uma linha.
- Sua `swapCrewMembers` função não deve modificar o `crew` array de entrada original.
Console