@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));
  • Вопрос задан
  • 559 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Попробуйте так:

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

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

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

Похожие вопросы