Записываю значения я таким способом:
//isEmpty - моя ф-ция, которая проверяет пустой ли объект
//item - это обычный стринг
if (isEmpty(JSON.parse(localStorage.getItem('todos')))) {
localStorage.setItem('todos', JSON.stringify([item]));
} else {
var localTodos = JSON.parse(localStorage.getItem('todos'));
localTodos.push(item);
localStorage.setItem('todos', JSON.stringify(localTodos));
}
Столкнулась с тем, что нужно добавить возможность удалить какую-то запись при нажатии на кнопку. Т.е. если на входе получаю массив вида
todos: ['123', '12', '1']
и мне нужно удалить элемент с индексом 1, то должен получиться
todos: ['123', '1']
Индекс я записсываю в value
кнопки и при нажатии его вытягиваю и пытаюсь удалить запись таким способом:
//todoId - индекс элемента
var todos = JSON.parse(localStorage.getItem('todos'));
var newTodos = todos.splice(todoId, 1);
localStorage.setItem('todos', JSON.stringify(newTodos));
Но на выходе получается какая-то белеберда и удаляются все записи кроме выбранной. Не подскажете как можно сделать по-другому?
splice
меняет сам массив, а возвращает удалённый элемент
var todos = JSON.parse(localStorage.getItem('todos'));
todos.splice(todoId, 1);
localStorage.setItem('todos', JSON.stringify(todos));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть очень большой двумерный массив - игровая картаЕсть маленький двумерный массив - текущая, видимая часть игровой карты
Имеется несколько input'ов с одинаковым классом Как узнать какой инпут по счету сейчас активен?
Добавил в eslintrc такое правило: "rules": { "linebreak-style": 0, "enforceInMethodNames": true, "allowAfterThis": true }