1
resposta

[Sugestão] Para saber mais: consultando a documentação

"O método slice() retorna uma cópia de parte de um array a partir de um subarray criado entre as posições início e fim (fim não é necessário) de um array original. O array original não é modificado."

Na verdade, o fim é necessário, exceto quando você quer pegar de um ponto até o fim do array. "O fim não é incluído."

1 resposta

Olá, Gabriel!

Entendo sua confusão, mas vamos esclarecer isso juntos. Quando dizemos que o parâmetro "fim" não é necessário para o método slice(), estamos querendo dizer que ele é opcional. Se você não fornecer esse parâmetro, o método slice() irá retornar um novo array que começa na posição "início" e vai até o final do array original.

Por exemplo, se tivermos um array como let arr = [1, 2, 3, 4, 5] e usarmos o método slice() como let newArr = arr.slice(2);, o newArr será [3, 4, 5]. Nesse caso, não especificamos um ponto final, então o slice() pegou todos os elementos a partir do índice 2 (terceiro elemento) até o final do array.

No entanto, você está correto ao dizer que, se especificarmos ambos os parâmetros "início" e "fim", o "fim" não será incluído no novo array. Por exemplo, se fizermos let newArr = arr.slice(1, 3);, o newArr será [2, 3], ou seja, começará no índice 1 (segundo elemento) e terminará no índice 3, mas sem incluir o elemento no índice 3.

Espero que isso esclareça sua dúvida sobre o método slice(). A documentação da MDN é realmente uma ótima fonte de informações, mas às vezes pode ser um pouco confusa. Continue explorando e perguntando sempre que tiver dúvidas!

Espero ter ajudado e bons estudos!