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

O exercício do splice dos animais do aquário!

(Edit: Poxa, escrevi um baita textão e o Alura apagou porque botei emojis no texto do post kkkkkkkkkkkkkkkkkkj sacanagem! Se puderem consertar isso seria top)

Boa tarde, queridos devs!

Vou resumir ao máximo.

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

animaisDoAquario.splice(1,0,'peixe-palhaço')
animaisDoAquario.splice(3,2,'peixe-azul')

console.log(animaisDoAquario)

A saída do node fica:

[ ' baleia', 'peixe-palhaço', 'polvinho', 'peixe-azul'

Perguntas:

1 - o código 1 remove polvinho (índice 1), depois nada (por ter um zero) e adiciona peixe-palhaço no lugar do polvinho.

animaisDoAquario = ['baleia, peixe-palhaço, golfinho, tubarão)

2 - o código 2 remove golfinho + golfinho + tubarão e adiciona peixe-azul no lugar.

animaisDoAquario = ['baleia, peixe-palhaço, peixe-azul"

Por que a resposta é:

baleia, peixe-palhaço, POLVINHO, peixe-azul

O polvinho não foi removido?

Obrigado, devs!

2 respostas
solução!

Oi, Diego! Tudo bem?

Lembrando que a sintaxe geral do splice é:

array.splice(start, deleteCount, item1, item2, ...)

E sabendo que os seus parâmetros se comportam de forma que:

  • start: é o índice no array a partir do qual a operação de splice será iniciada.
  • deleteCount (opcional): é o número de elementos a serem removidos a partir do índice especificado. Se deleteCount não for fornecido, ou se for maior que o número de elementos restantes a partir do start, todos os elementos até o final do array serão removidos.
  • item1, item2, ... (opcional): Os elementos a serem adicionados ao array no ponto de partida especificado.

Visto isso, podemos concluir que, no primeiro código, o splice não remove o polvinho (índice 1), pois tem um zero no indice que informa quantos elementos devem ser retirados mas adiciona o peixe-palhaço no lugar dele, pois foi o índice especificado para a ação. Então, o resultado é: ['baleia', 'peixe-palhaço', 'polvinho', 'golfinho', 'tubarão'].

Já no segundo código, o splice remove o golfinho (índice 3) e o tubarão (índice 4) e adiciona o peixe-azul no lugar. Então, o resultado é: ['baleia', 'peixe-palhaço', 'polvinho', 'peixe-azul'].

Espero ter ajudado na compreensão do problema. Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Caramba Sarah haha Eu vacilei. De fato, o índice 1 é o polvinho, mas o 0 em seguida não remove índices da array. Muito obrigado mesmo!