How to remove an index from localStorage

Asked

Viewed 684 times

0

I need to make a manipulation of localStorage and I don’t know how to remove an item from an index. I’m very beginner in the subject and I don’t know how to pass this information to the button.

Follows the code:

var base;
//verifica se tem alguma "KEY" no localStorage criada com o nome de 'base'
if (localStorage.getItem("base") != null) { // caso retorne nula
    //a base vai converter a String em parenteses para exibir como KEY mais pra frente
    base = JSON.parse(localStorage.getItem("base"));
} else {

    //caso ja esteja criada, declara a base como um vetor;
    base = {
        dados: []
    };
}



$(document).ready(function () {
    $("#btncadastrar").click(cadastrar);
    $("#btnlistar").click(listar);
    $("#btnlimpar").click(limpar);
    $(".excluir").click(function () {
        excluir();
        alert("test")
    });


});

function cadastrar() {

    if ($("#tarefa").val() != "") {
        //base de dados armazena em um array que é chamado pela base, que contem dados, e informa que o atributo recebido sera uma TAREFA:(variavel)
        base.dados.push({ tarefas: $("#tarefa").val() });
        //converte os valores por uma String JSON
        localStorage.setItem('base', JSON.stringify(base));
        $("#idlistar").val("");
        $("#tarefa").val("");
    } else {
        alert("Insira alguma tarefa")
    }
}


function listar() {
    $("#idlistar").empty();

    if (localStorage.length > 0) {

        base = JSON.parse(localStorage.getItem("base"));
        //inserindo em uma lista que inici no UL
        $("#idlistar").append(`<ul class="list-group list-group-flush" id="addlistaitem">`);
        for (var i = 0; i < base.dados.length; i++) {
            //dentro, vai inserir as linhas da lista de acordo com os dados puxados do localstorage
            //aqui no append eu também criei um botão, que formatei ele dentro do css pra deixar aquele botãozinho laranja
            //passar função d excluir quando clicar naquele botão tbm
            $("#idlistar").append(`<li class="border-1" class="list-group-item mb-2">${base.dados[i].tarefas}<input onClick="excluir()" type="button" class="excluir" value="x"></li>`)
        }
        //finaliza a ul(lista)
        $("#idlistar").append(`</ul>`);
    }
}


function excluir() {
    localStorage.setItem('base', JSON.stringify(base));
 
     for (var i = 0; i < base.dados.length; i++) {
         localStorage.removeItem(base.dados[i].tarefas);
     }
 
}

function limpar() {
    localStorage.clear();
    $("#idlistar").empty();
}

Tela

  • "remove an item from an index" - how so ? Want to remove an item from an array ? It was not very clear what that statement means.

  • See this link from stackoverflow

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.