Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

[Dúvida] lenght - 1

Eu entendi que tem que ter o "-1" para pegarmos o último elemento de uma lista pq a contagem de elementos começa em 0, mas se eu quero, por exemplo, fazer uma função que calcule alguma coisa para cada um dos elementos da lista, eu preciso especificar que o tamanho da lista é diferente do número do elemento?

Algo tipo "some 2 no primeiro, terceiro e último elemento" seria algo como "some 2 nos elementos (posição 0, posição 2 e posição 10-1)"??

2 respostas

Olá Guilherme.
Você entendeu corretamente o motivo do "-1", mas vamos organizar isso de forma mais clara para não confundir índice com tamanho da lista.
Em programação, a lista começa no índice 0, então o último elemento sempre será tamanho_da_lista - 1.
Isso não significa que você precisa usar essa conta o tempo todo, apenas quando estiver acessando um elemento específico pelo índice.
Quando você quer aplicar uma operação em todos os elementos da lista, você normalmente não precisa pensar em índices manualmente.
Você usa uma estrutura de repetição que percorre a lista do início ao fim, e o próprio sistema cuida disso para você.
No seu exemplo de “somar 2 no primeiro, terceiro e último elemento”, aí sim você está trabalhando com posições específicas.
Seria algo como índice 0, índice 2 e índice tamanho_da_lista - 1.
O ponto importante é que o último sempre depende do tamanho atual da lista, porque ele pode mudar.
Tente separar duas ideias: “percorrer toda a lista” e “acessar posições específicas”.
Quando você mistura essas duas coisas, a lógica parece mais difícil do que realmente é.
Treinar isso com exemplos pequenos ajuda muito a fixar.
Use -1 só para acessar o último elemento diretamente; para percorrer listas, prefira laços de repetição.
Qualquer duvida avise ai.
Bons estudos.

Olá, Guilherme! Tudo certo?

Sua dúvida sobre como trabalhar com elementos de uma lista é muito comum entre quem está aprendendo programação, e você já demonstrou que entendeu uma parte fundamental: a contagem de posições começa em 0. Isso significa que, em uma lista com 5 elementos, as posições vão de 0 a 4, e o último elemento sempre estará na posição equivalente ao tamanho da lista menos um.

Quando você quer realizar operações em elementos específicos, como somar 2 ao primeiro, terceiro e último elemento, basta usar os índices diretamente. Para o primeiro elemento, você usaria lista[0], para o terceiro elemento, lista[2], e para o último elemento, lista[lista.length - 1]. O uso de lista.length - 1 é justamente porque length retorna a quantidade total de elementos, mas como a contagem começa em 0, o último índice é sempre esse valor subtraído de um.

Veja um exemplo prático em JavaScript:

let lista = [10, 20, 30, 40, 50];

lista[0] += 2;               // Primeiro elemento
lista[2] += 2;               // Terceiro elemento
lista[lista.length - 1] += 2; // Último elemento

console.log(lista); // Resultado: [12, 20, 32, 40, 52]

Perceba que você não precisa calcular nada manualmente para cada posição. A expressão lista.length - 1 já cuida disso automaticamente, independentemente do tamanho da lista. Isso torna seu código mais flexível e reutilizável em qualquer situação.

Ficou mais claro agora? Se quiser explorar como aplicar isso dentro de uma função que percorre toda a lista automaticamente, é só perguntar!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!