簡體   English   中英

從本地存儲中刪除特定元素

[英]Remove specific element from local storage

我遇到了一個問題,嘗試編寫 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'); 
             
        } 

您可以簡單地從帳戶數組中過濾掉當前帳戶。

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));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM