Как удалить элемент из массива с определенным ключом из локального хранилища в ionic 4, angular 7 - PullRequest
0 голосов
/ 12 мая 2019

Я хочу удалить объект из массива, хранящегося в локальном хранилище. С this.storage.remove (ключ); Я могу удалить только весь массив. Найденное мной решение говорит о том, что мне нужно удалить весь массив, а затем сохранить новый без элемента, который я хочу удалить. Это единственный способ? Или я могу просто сохранить новый массив с тем же ключом, а старый будет перезаписан?

Давайте скажем, что у меня есть в местном хранилище.

Ключ массива: «Мой ключ»

Элементы массива: "[{" title ":" item1 "," content ":" content 11 "}, {"title": "item2", "content": "content 2"}] "

Элемент для удаления: {"title": "item2", "content": "content 2"}

1 Ответ

0 голосов
/ 13 мая 2019

Это решит вашу проблему:

function removeItem(item_title) {
localStorage.setItem(
    "My-Key",
    JSON.stringify(
        JSON.parse(localStorage.getItem("My-key")).filter(item => {
            return item.title !== item_title;
        })
    )
);
}

removeItem("item2");

Кроме того, поскольку вы работаете с localStorage, я хотел бы порекомендовать вам эту крошечную библиотеку JS, которая значительно упростит работу с localStorage, а также sessionStorage и рядом других вещей: https://github.com/tranclix/XJS

Используя XJS , приведенный выше код будет выглядеть следующим образом:

function removeItem(item_title) {
x.jls(
    "My-Key",
    x.jlg("My-key").filter(item => {
        return item.title !== item_title;
    })
);
}

removeItem("item2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...