#javascript #html
#javascript #HTML
Вопрос:
Привет, я хочу удалить элемент из локального хранилища. Я пробую этот код:
var pos=JSON.parse(JSON.stringify(localStorage.getItem("position_users")));
var storedNames = JSON.parse(localStorage.getItem("user_login_users"));
if(storedNames.length===1){
localStorage.removeItem("user_login_users");
}else if(storedNames.length>1){
storedNames.slice(pos,1);
console.log(storedNames);
localStorage.setItem("user_login_users", JSON.stringify(storedNames));
alert("utente cancellato");
window.open("onlinemoviecatalog.html");
}}
где user_login_users={[имя: «джек»фамилия: «росси», имя: «рози», фамилия: «чан»]} и position_users={[0]}.User_login_users и position_users находятся в формате JSON. Мой код ничего не удаляет. Как я могу сделать?
Ответ №1:
Срез против сращивания
- Метод splice() возвращает удаленный элемент (элементы) в массиве, а метод slice() возвращает выбранный элемент (элементы) в массиве в качестве нового объекта массива.
- Метод splice() изменяет исходный массив, а метод slice() не изменяет исходный массив.
Исправленный код,
// Using slice
storedNames = storedNames.slice(pos, pos 1);
// Using splice
storedNames.splice(pos, 1)
Вам нужно присвоить выходные данные переменной. Slice
не изменяет исходный массив
Комментарии:
1. заполняйте вас. Как я могу изменить исходный массив?