Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Não entendi muito essa parte do itens.length -1

itemAtual.id = itens(itens.length -1) ? (itens(itens.length-1)).id +1 : 0;

Não compreendi a lógica disso aqui. Alguém tem uma forma de me explicar mais didática?

1 resposta
solução!

Oi Laura! Tudo bem?

Entendo que você está com dúvidas em relação à linha de código que utiliza a expressão "itens.length - 1". Vou tentar explicar de forma clara.

Primeiramente, é importante entender que a expressão "itens.length" retorna o número de elementos que existem em um array. Então, se tivermos um array chamado "itens" com 5 elementos, por exemplo, a expressão "itens.length" retornaria o valor 5.

Agora, voltando à expressão "itens.length - 1", o "-1" indica que estamos subtraindo 1 do valor retornado pela expressão "itens.length". Isso é necessário porque, em arrays, os índices começam em 0 e vão até "n-1", onde "n" é o número de elementos do array.

Por exemplo, se tivermos o seguinte array:

var minhaLista = ["maçã", "banana", "laranja"];

A posição da primeira elemento, "maçã", é 0, a posição da segunda elemento, "banana", é 1, e a posição da terceira elemento, "laranja", é 2. Ou seja, a posição do último elemento é sempre igual ao número de elementos do array subtraído por 1.

Dessa forma, a expressão "itens.length - 1" retorna o índice do último elemento do array "itens". Isso é útil em muitos casos, como quando queremos acessar o último elemento de um array ou adicionar um novo elemento após o último existente, como é o caso do código que você mencionou:

itemAtual.id = itens(itens.length - 1) ? (itens(itens.length-1)).id +1 : 0;

Nesse trecho de código, estamos definindo o valor do atributo "id" de um objeto chamado "itemAtual". A expressão "itens(itens.length - 1)" está acessando o último elemento do array "itens", que contém objetos com o atributo "id".

A partir disso, o código verifica se o elemento encontrado não é nulo (ou seja, se existe um último elemento no array), e, se for o caso, incrementa o valor do atributo "id" em 1. Caso contrário, se não houver elementos no array, o atributo "id" é setado para 0.

Espero que eu tenha conseguido esclarecer suas dúvidas.

Um abraço e bons estudos.