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

Certo??

No exercicio:

https://cursos.alura.com.br/course/angular-fundamentos/task/42633

A resposta correta não esta errada?

A resposta correta não seria a B (15, 31,10)?

5 respostas

concordo com você, pelo que entendi o primeiro parâmetro é onde vai começar o "corte" e o último onde termina, o primeiro parâmetro passado é a posição 1, que é o 15, e o segundo parâmetro é a posição 3, que é o 10, logo o array resultante seria 15,31,10.

Também acho... ALURA, vamos corrigir o exercicio ae pra não causar confusão para os alunos... abrçs!

solução!

Na verdade, a resposta certa está realmente correta. No Slice, você dá a posição inicial, que é chamada de begin, lembrando que a contagem se inicia com o 0. Depois da begin, você passa a posição final, a chamada end, que é onde o array será cortado.

Logo no Array [22, 15, 31, 10] , o Slice(1,3) no Javascript vai pegar a partir do 15 e parar no 10, porque ele vai pegar o valor que fica entre o inicial, e vai usar o valor setado no end como uma flag para parar e por isso ele não é incluído no retorno, assim ele só retorna [15, 31].

Não sei se posso deixar mais claro, mas só um exemplo, seria tipo fazer um while que inicia com o elemento da posição 1 e que tem a condição de parada atingir a posição 3. Assim que atinge a posição 3, ele para e não retorna o valor da posição 3.

Você podem testar no console do Chrome o código, só dar um ctrl + shift + i ou um f12

Exato Fábio, muito obrigado pela sua resposta.

Obrigada!