#javascript #local-storage
Вопрос:
Я пытаюсь проверить localStorage на наличие псевдонима, и если он включает в себя псевдоним, удалите его из локального хранилища.
window.removeNickname = (n) => {
const names = localStorage['nicknames'].split(','); // Output = ["NAME 1", "NAME 2", "NAME 3"]
if (names.includes(n)) {
// HOW CAN I REMOVE THE NAME FROM THE LOCALSTORAGE HERE AND REPLACE THE LOCALSTORAGE NICKNAMES.
}
};
removeNickname('NAME 2');
Комментарии:
1. localStorage -это хранилище пары ключ/значение, и
value
это всегдаstring
тип, вам нужно заменить строку новой строкой без того, что вы хотите… если вы знаете название,localStorage.setItem("nicknames", localStorage.getItem("nicknames").replace("balexandre,", ""))
достаточно простого — попробуйте в консоли браузера 😊 👌
Ответ №1:
Вы можете попытаться удалить элемент из массива с помощью split и установить новый массив в качестве ваших псевдонимов. Сращивание удаляет элементы из массива, начиная с индекса, который вы упомянули в первом аргументе, и удаляет столько элементов, сколько вы задали во втором аргументе.
window.removeNickname = (n) => {
const names = localStorage['nicknames'].split(','); // Output = ["NAME 1", "NAME 2", "NAME 3"]
if (names.includes(n)) {
localStorage.setItem(nicknames, names.splice(names.indexOf(n), 1));
}
};
Комментарии:
1. У вас ошибка в коде — Неперехваченная ошибка синтаксиса: отсутствует ) после списка аргументов
2. @entlassungspapi Да, я просто забыл поставить закрывающие скобки, спасибо, что упомянули об этом 🙂