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

Por que utilizar um objeto?

Minha dúvida é simples, em dado momento do vídeo ele diz que será necessário criar um objeto para enviar ao localStorage. Porém me pergunto o motivo dele não utilizar uma simples lista de dois elementos. Não daria o mesmo resultado? Inclusive, também na parte de pegar os valores do form, não bastava apenas pegar os values usando um ID nas tags HTML?

3 respostas

Oi, Pedro, td bem

Explique melhor como seria uma simples lista de dois elementos

Poderia mostrar um exemplo?

Conseguiu testar?

Tipo assim... Forma dele:

item = {
    "nome": texto,
    "qnt": quantidade
}
lista.push(item)

E depois ele manda pro localStorage assim vai...

O que eu pensei em fazer:

item = [nome, quantidade];
lista.push(item);

E quando for puxar as informacoes usar as posicoes e afins

solução!

Pedro,

"Por que utilizar um objeto?"

Neste caso, eu prefiro trabalhar com chaves

É melhor para identificar quem eu estou chamando

Com duas características (nome e quantidade) é fácil de lembra, mais se aumenta, ficar complicado

Ex.: nome, quantidade, cor, tamanho, etc...

Exemplo dos dois códigos

// array

const lista = []

function adicionaItem(nome, quantidade){
  item = [nome, quantidade];
  lista.push(item);
}

adicionaItem('chinelo', 5);
adicionaItem('Tenis', 2);
adicionaItem('blusa', 3);

localStorage.setItem("lista", JSON.stringify(lista));

const itens = JSON.parse(localStorage.getItem("lista")) || [];


itens.forEach((item, i) => console.log(i, item[0], item[1]));
// objeto

const lista = []

function adicionaItem(nome, quantidade) {
  item = {
    'nome': nome,
    'quantidade': quantidade
  }
  lista.push(item);
}

adicionaItem('chinelo', 5);
adicionaItem('Tenis', 2);
adicionaItem('blusa', 3);

localStorage.setItem("lista", JSON.stringify(lista));

const itens = JSON.parse(localStorage.getItem("lista")) || [];


itens.forEach((item, i) => console.log(i, item.nome, item.quantidade));