【问题标题】:Remove specific element from local storage从本地存储中删除特定元素
【发布时间】:2020-11-26 13:00:38
【问题描述】:

我在尝试编写 Web 应用程序时遇到了问题,用户可以在其中删除他或她自己的帐户。 当我运行我的代码时,它会删除本地存储中 User 数组中的第一项,而不是与当前用户(登录的用户)匹配的元素。

我希望有人能够帮助我。 最好的尊重

这是我的代码:

    var removeItem = document.getElementById("deleteBtn").addEventListener("click",deleteAccount);

function deleteAccount() {
   var accounts = JSON.parse(localStorage.getItem("User"));
   var current = JSON.parse(localStorage.getItem("currentUser"));
    var i;
    for (i = 0; i < accounts.length; i++) {
        if (accounts[i]._username == current._username){
            accounts.splice(i,1); 
            localStorage.setItem("User", JSON.stringify(accounts));
            
            return localStorage.removeItem('currentUser'); 
             
        } 

【问题讨论】:

  • accounts 变量代表什么?
  • accounts 变量表示本地存储中创建的用户数组

标签: javascript function loops local-storage


【解决方案1】:

您可以简单地从帐户数组中过滤掉当前帐户。

function deleteAccount() {
    var accounts = JSON.parse(localStorage.getItem("User"));
    var current = JSON.parse(localStorage.getItem("currentUser"));

    accounts = accounts.filter(account => account._username !== current._username);

    localStorage.setItem("User", JSON.stringify(accounts));
}

【讨论】:

  • 非常感谢杰里米。非常感谢您的帮助 - 它有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多