Considere o seguinte código JavaScript: var a = [1,2,3,4,5];...

Próximas questões
Com base no mesmo assunto
Q1853846 Programação

Considere o seguinte código JavaScript: 

var a = [1,2,3,4,5];

a.slice(0,3);

a.splice(1,1);

a.pop();


Qual o valor da variável a ao término da execução do código?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta Correta: A - [1,3,4]

Vamos analisar o que cada método faz para entender por que a alternativa A é a correta:

O método slice(0,3) cria um novo array, copiando os elementos do índice 0 ao índice 2 (o índice final 3 não é incluído). No entanto, é importante notar que slice não modifica o array original, então a variável a permanece inalterada neste ponto.

Em seguida, o método splice(1,1) é chamado, e este sim modifica o array original. Ele remove 1 elemento começando no índice 1, que no caso é o número 2. Depois desta operação, o array passa a ser [1,3,4,5].

Por fim, o método pop() remove o último elemento do array, que agora é o número 5. Assim, o array é reduzido para [1,3,4], que é exatamente a resposta correta, a alternativa A.

Para resolver essa questão, é essencial conhecer os métodos de manipulação de arrays em JavaScript e entender que slice não altera o array original, enquanto splice e pop sim. Considerando essas operações, chegamos à configuração final do array, que é [1,3,4].

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Considerando que o array inicial é "[1,2,3,4,5]" e que o índice começa em zero:

 

a.slice(0,3); 

-> Retorna uma lista com os elementos de 0 a 3 (não incluso)

-> Essa função não altera a lista original, apenas retorna uma nova lista, então não irá influenciar no código

 

a.splice(1,1);

-> Essa função altera a lista original

-> A partir da posição 1, remove 1 elemento

-> Sobra: [1,3,4,5]

 

a.pop();

-> Remove o último elemento do array

-> Sobra: [1,3,4] GAB A

 

---

https://www.w3schools.com/jsref/jsref_splice.asp

https://www.w3schools.com/jsref/jsref_pop.asp

https://www.w3schools.com/jsref/jsref_slice_array.asp

Aqui também Leandro Henrique

a função é tão pouco utilizada que nem o examinador sabe montar o gabarito pra ela

Tive que quebrar a cabeça um pouco para entender essa questão e conversar com alguns colegas também.

O que me gerou mais dúvida foi na variável a.slice(0,3), pois ela fatia uma string. Contudo, veja um pequeno pega: "Embora essa string criou uma substring, mas não a UTILIZOU, é a mesma coisa de só ignorar aquela linha".

Contudo, o splice mexe na string e o pop também produzindo os resultados que o colega @Leandro explicou. Espero que tenha ajudado

"Se eu cheguei mais longe foi porque me apoiei ombros gigantes" - Isaac Newton

>>Em frente e enfrente>>

✅Gabarito(C) 

Pelo que vi...

1 - Sintaxe - slice(start, stop). Sendo que o stop seria (stop -1)

2 - Assim, "a.slice(0,3)" teria como resultado [1,2,3,4];

3 - "a.splice(1,1)", causaria a exclusão de um elemento, no caso da posição 1, assim o array ficaria como [1,3,4]

4 - Finalizando, o "a.pop()", excluiria o último elemento, obtendo como resultado o array [1,3]

Fontes: https://ricardo-reis.medium.com/array-slice-80ce126d9a4d

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo