@rinaz22

Почему удаление объекта delete не всегда работает в javascript?

Всем привет! Храню некие данные в localstorage в виде объекта. По клику добавляю новый данные в объект и потом в localstorage. Если кликнуть на эту же кнопку еще раз, то беру все данные с localstorage и удаляю нужный объект и потом снова записываю в localstorage с помощью такого кода:
cart = JSON.parse(localStorage.getItem("cart"));
let key = $(this).data("key");
delete cart[key];
localStorage.setItem("cart", JSON.stringify(cart));

Но почему-то иногда при удалении объект не удаляется.
Как это можно исправить?
  • Вопрос задан
  • 236 просмотров
Решения вопроса 1
@rinaz22 Автор вопроса
Решил! delete не может удалить свойство из объекта, которое он унаследовал от прототипа.
На сколько я понял, delete не может удалить единственный элемент в объекте.
Поэтому я проверяю кол-во элементов и если кол-во = 1, то удаляю полностью localstorage, а если нет, то просто элемент с объекта и перезаписываю в ls
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alex-1917
@alex-1917
Если ответ помог, отметь решением
localStorage.removeItem(key);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы