Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Splice

Olá, eu não entendi por que no animaisDoAquario.splice(1,0,'peixe') ele incluiu no meio da posição 0 e 1 sem remover elementos, mas já no animaisDoAquario.splice(3,2,' peixe') ele precisou remover os dois elementos para incluir

3 respostas
solução!

Olá, João!

Os elementos que vão ser retirados do array são definidos pelo segundo parâmetro do splice().

Por exemplo, o primeiro exemplo do exercício é animaisDoAquario.splice(1, 0, 'peixe amarelo'). Podemos traduzir cada um dos três parâmetros da seguinte forma:

array.splice(pontoInicial, numeroDeElementosDeletados, itemAdicionado)
  • pontoInicial: número que indica a posição no array a partir de onde ele será alterado. No caso do exemplo, 1 significa que o array será alterado a partir da posição 1 - ou seja, após a posição 0.
  • numeroDeElementosDeletados: número que indica a quantidade de elementos que serão removidos do array a partir de pontoInicial. No exemplo, o número é 0, significando que serão deletado 0 elementos (nenhum elemento).
  • itemAdicionado: é o elemento que será inserido no array, a partir de pontoInicial.

No segundo exemplo animaisDoAquario.splice(3, 2, 'peixe azul') o que faz com que os dois elementos sejam removidos do array é justamente o segundo parâmetro, que nesse caso é 2. Ou seja:

  • o primeiro parâmetro (3) indica que a alteração começa a partir do índice 3 (e contando com ele).
  • o segundo parâmetro (2) indica que serão removidos dois elementos, começando a partir do índice 3.
  • o terceiro parâmetro ('peixe azul') indica o elemento que será inserido a partir do ponto inicial.

Executando linha por linha, temos:

animaisDoAquario = ['baleia', 'polvo', 'golfinho', 'tubarão']

animaisDoAquario.splice(1, 0, 'peixe amarelo')
// resultado: [ "baleia", "peixe amarelo", "polvo", "golfinho", "tubarão" ] 
// pois não retiramos nenhum elemento

animaisDoAquario.splice(3,2,'peixe azul')
// resultado: [ "baleia", "peixe amarelo", "polvo", "peixe azul" ] pois foram 
// retirados 3 elementos a partir do índice 3 ([ "golfinho", "tubarão" ]) 
// e adicionado 'peixe azul' no final.

Espero ter ajudado!

Bons estudos ;)

Ótima explicação, acredito que entendi, resumindo pode confirmar se é isso

no primeiro caso a gente colocou que no índice 1 seria incluído peixe amarelo e o 0 representa que nenhum elemento seria retirado, já no segundo caso foi indicado que seria removido 2 elementos a partir do índice 3 e adicionado o peixe azul. Confere?

Isso mesmo, João! O importante é sempre passar os parâmetros na ordem correta. A documentação do MDN tem mais alguns exemplos que você pode usar para praticar.

Bons estudos!