3
respostas

Splice

Por favor alguém pode me explicar melhor como posso remover os estados dentro do elemento - Splice, por exemplo:

=> Salvador, São Paulo, Rio de Janeiro e Curitiba

Como posso remover: Salvador e Rio de Janeiro? Mantenho ficar São Paulo e Curitiba

listaDeDestinos.splice(1,1);

Salvador é sempre "0"??

3 respostas

Lais, pra remover Salvador e Rio de Janeiro, usando o splice, você tem que utilizá-la duas vezes.

Lembrando que a contagem em Javascript sempre começa do zero, ou seja, o primeiro item da sua lista vai ser 0, o segundo vai ser 1, e assim por diante.

Então pra remover Salvador e Rio de Janeiro, você teria que fazer o seguinte:

listaDeDestinos.splice(0,1); //remove Salvador
listaDeDestinos.splice(1,1); //remove Rio de Janeiro

"Ah, Erika, mas não deveria ser .splice(2,1)?" Não, porque quando você remove um item, a numeração da lista é modificada, sendo refeita com os itens restantes. Após removermos Salvador, o primeiro item da lista vira São Paulo (item 0), e o segundo vira Rio de Janeiro (item 1).

Qualquer dúvida, pode mandar mensagem! :)

Oi Erika, Tenho dificuldade pra compreender. Tentei escrevi 3,0 / 0,3 (remover é Curitiba), não deu. Fiz bastante o teste, não deu o resultado.

**Salvador, São Paulo, Rio de Janeiro e Curitiba

  • Para REMOVER em Salvador e SP:

  • listaDeDestinos.splice(0,1);

  • listaDeDestinos.splice(0,0);

  • Para REMOVER em Salvador e Rio:

  • listaDeDestinos.splice(0,1);

  • listaDeDestinos.splice(1,1);

  • Para REMOVER em Salvador e Curitiba:

  • listaDeDestinos.splice(0,1);listaDeDestinos.splice(0,2); (não imprimiu?)

**Salvador, São Paulo, Rio de Janeiro e Curitiba

  • Para REMOVER em São Paulo e Salvador:

  • listaDeDestinos.splice(0,0);

  • Para REMOVER em São Paulo e Rio de Janeiro:

  • listaDeDestinos.splice(?,?);

  • Para REMOVER em São Paulo e Curitiba:

  • listaDeDestinos.splice(?,?);

**Salvador, São Paulo, Rio de Janeiro e Curitiba

  • Para REMOVER em Rio de Janeiro e Salvador:

  • listaDeDestinos.splice(?,?);

  • Para REMOVER em Rio de Janeiro e SP:

  • listaDeDestinos.splice(?,?);

  • Para REMOVER em Rio de Janeiro e Curitiba:

  • listaDeDestinos.splice(?,?);

Salvador, São Paulo, Rio de Janeiro e Curitiba

  • Para REMOVER em Curitiba e Salvador:

  • listaDeDestinos.splice(?,?);

  • Para REMOVER em Curitiba e São Paulo:

  • listaDeDestinos.splice(?.?);

  • Para REMOVER em Curitiba e Rio de Janeiro:

  • listaDeDestinos.splice(?,?);

Oi, Lais!

O splice nunca pode ter seu segundo número zerado. Ele funciona assim: dentro do parenteses, o primeiro número indica de onde ele deve começar, ou seja, em que item da lista ele deve se posicionar, e o segundo número indica quantos itens devem ser retirados.

Então vamos lá:

Para remover Salvador e SP:

const listaDeDestinos = new Array(
    `Salvador`,
    `São Paulo`,
    `Rio de Janeiro`
);

listaDeDestinos.push(`Curitiba`); //adicionando item na lista

console.log(`Destinos possíveis:`);
console.log(listaDeDestinos);

//Remover Salvador e SP

listaDeDestinos.splice(0,1);
console.log(listaDeDestinos);
listaDeDestinos.splice(0,1);
console.log(listaDeDestinos);

Percebe que coloquei duas vezes o splice(0,1), porque a numeração zera, lembra? Pra ele imprimir o resultado, você precisa colocar o console.log(listaDeDestinos);

Para REMOVER Salvador e Rio:

const listaDeDestinos = new Array(
    `Salvador`,
    `São Paulo`,
    `Rio de Janeiro`
);

listaDeDestinos.push(`Curitiba`); //adicionando item na lista

console.log(`Destinos possíveis:`);
console.log(listaDeDestinos);

//Remover Salvador e RJ

listaDeDestinos.splice(0,1);
console.log(listaDeDestinos);
listaDeDestinos.splice(1,1);
console.log(listaDeDestinos);

Percebe que pra remover o RJ, eu coloquei o item splice(1,1), ou seja, começo no item 1 (Rio de Janeiro), e removo 1 item (ele mesmo).

Para remover Curitiba e Salvador:

const listaDeDestinos = new Array(
    `Salvador`,
    `São Paulo`,
    `Rio de Janeiro`
);

listaDeDestinos.push(`Curitiba`); //adicionando item na lista

console.log(`Destinos possíveis:`);
console.log(listaDeDestinos);

//Remover Curitiba e Salvador

listaDeDestinos.splice(3,1);
console.log(listaDeDestinos);
listaDeDestinos.splice(0,1);
console.log(listaDeDestinos);

Observa que a gente nunca vai colocar o segundo número do splice zerado, pois colocando ele zerado você diz ao sistema que não quer tirar nenhum item da lista.

Qualquer coisa, manda mensagem que tô de olho aqui no chat!