удаление элемента из позиции в локальном хранилище

#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:

Срез против сращивания

  1. Метод splice() возвращает удаленный элемент (элементы) в массиве, а метод slice() возвращает выбранный элемент (элементы) в массиве в качестве нового объекта массива.
  2. Метод splice() изменяет исходный массив, а метод slice() не изменяет исходный массив.

Исправленный код,

 // Using slice
storedNames = storedNames.slice(pos, pos   1);

// Using splice
storedNames.splice(pos, 1)
 

Вам нужно присвоить выходные данные переменной. Slice не изменяет исходный массив

Комментарии:

1. заполняйте вас. Как я могу изменить исходный массив?