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

Não compreendi os parâmetros do exemplo no .slice( )

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Não entendi essa divisão, se na sala1 o slice vai de 0 ao total de alunos usando length e o total de alunos é 20, dividindo por 2 daria 10. Perfeito, pegou os primeiros 10. No entanto a sala2 também pega 20 alunos através do length, divide por 2 e dá 10, mas aí ela seleciona a segunda metade, não entendi o porquê de isso acontecer. Não deveria pegar a primeira metade? Como ele sabe que deve mostrar a segunda metade?

2 respostas
solução!

Oi, Gabriela! Tudo bem?

Utilizamos o método slice() para extrair uma parte de um array já existente, retornando um novo array com os elementos selecionados e não modificando o array original.

Podemos usar o slice() de duas formas:

Na primeira forma, passando apenas um parâmetro para o método, que representa o índice no qual a extração vai começar, ou seja, a partir desse índice serão retirados os elementos que formarão o novo array.

Na segunda forma, passaremos dois parâmetros, no qual o primeiro informa em qual índice deverá iniciar a extração de elementos para formar o novo array e o segundo onde irá terminar essa extração. Dessa forma, o método retorna um novo array contendo os elementos entre o primeiro índice e o segundo índice - 1 do array original.

Devido a isso, ao declararmos sala1 = alunos.slice(0, alunos.length/2), estamos dizendo que sala1 receberá uma parte do array alunos cujos elementos correspondem ao elemento de índice 0 do array alunos até o índice (alunos.length/2) - 1 que nesse caso corresponde ao índice 9.

Já quando declaramos sala2 = alunos.slice(alunos.length/2) , como passamos apenas um parâmetro, estamos dizendo que sala2 receberá uma parte do array alunos cujos elementos serão formados iniciando pelo elemento alunos.length/2 até o final do array.

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 ✓

Perfeito