簡體   English   中英

如何從對象的數組列表中訪問對象?

[英]How can I access an object from an array list of objects?

我在這方面很新,並試圖自己創建一個商業網站。 無論如何,這是我的對象:用戶:

[{
  "id": "john_doe@yahoo.com",
  "Name": "John Doe",
  "Email": "john_doe@yahoo.com",
  "Password": "john"
},
{
  "id": "janedoe@yahoo.com",
  "Name": "Jane Doe",
  "Email": "janedoe@yahoo.com",
  "Password": "jane"
}]

這是我的代碼:

function addUser(e){
        id = $('#emailAccount').val();

        var name = $('#nameClient').val();      
        var email = $('#emailAccount').val();
        var psword = $('#passwordAccount').val();

        if (name == ""){
            alert("Field name cannot be empty.");   
            e.preventDefault();
        }else if (email == ""){
            alert("Field email cannot be empty.");
            e.preventDefault();
        }else if (psword == ""){
            alert("Field password cannot be empty.")
            e.preventDefault();
        }else {
            users = JSON.parse(localStorage.getItem("users"));

            //Check users

            if(users == null){
                users = [];         
            }
            var userList = JSON.parse(localStorage.getItem("users"));

            //new User object

            var new_user = {
                "id":id,
                "Name": name,               
                "Email": email,
                "Parola": psword                
            }

            users.push(new_user);
            localStorage.setItem('users', JSON.stringify(users));

            console.log("User added")
        }

    }

});

我需要從本地存儲訪問id,我不知道如何。 請幫我。

由於要存儲/加載數組,因此需要循環所有元素並分別訪問每個元素的屬性,例如:

$.each(users, function(i, user)
{ 
   console.log(user.id);
});

如果需要特定元素,可以通過索引訪問它們,也可以使用過濾函數通過屬性值獲取它們。

var foundUsers = users.filter(function(user) {
       return user.id === "john_doe@yahoo.com";
});

filter函數返回一個數組。

你的對象object: users:是一個數組,這個數組的每個元素都是一個user object ,所以如果你想在特定索引中提取id ,你可以做一些像id = users[index].id這樣的事情。

您還可以循環訪問您的對象獲取所有ID,如下所示

var id = [];
for(var i=0;i<users.length;i++){
id.push(users[i].id);    
}

我建議你使用sessionStorage而不是本地存儲。

window.sessionStorage.setItem('somekey', value);
window.sessionStorage.getItem('somekey');

首先需要使用JSON.parse()解析字符串,然后循環以獲取所需的每個值。 請參閱下面的工作代碼段:

 var dataFromLocalStorage = `[{ "id": "john_doe@yahoo.com", "Name": "John Doe", "Email": "john_doe@yahoo.com", "Password": "john" }, { "id": "janedoe@yahoo.com", "Name": "Jane Doe", "Email": "janedoe@yahoo.com", "Password": "jane" }]`; dataFromLocalStorage = JSON.parse(dataFromLocalStorage); dataFromLocalStorage.forEach(function(currentVal){ console.log(currentVal.id); }); 

暫無
暫無

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

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