@PiggyPig

Как удалить первый элемент массива в localStorage?

Доброго дня!
План таков - удалить первый элемент из массива, когда число элементов в нем превысит определенное число, например, 10.
Повесил проверку с alert'ом - работает, но как только вместо alert'а вписываю удаление элемента, то ни ошибок, ни каких-либо действий не обнаруживаю. Где-то лажаю, вопрос только где.

Сам скрипт:
var history = [];
  if (localStorage.getItem('example') !== null) {
    history = JSON.parse(localStorage.getItem('example'));
    out(); // функция вывода элементов в HTML-разметке
  }

  var history_element = {
    ...
  };

  var i = history.length;
  history[i] = history_element;
  out();

  if (i > 10) { // данная проверка срабатывает, но вот со строкой ниже проблемы
    localStorage.removeItem(history[0]);
  }

  localStorage.setItem('example', JSON.stringify(history));
  • Вопрос задан
  • 557 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Попробуйте так:

if (i > 10) {
  history.shift();
}

Что до вашего localStorage.removeItem(history[0]), то это не удаление нулевого элемента массива, хранящегося в localStorage, а удаление из localStorage свойства с именем, соответствующим значению нулевого элемента массива history.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SummerWeb Ярославль
от 120 000 до 180 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
16 июн. 2024, в 11:11
25000 руб./за проект
16 июн. 2024, в 10:55
2000 руб./за проект