我在这方面很新,并试图自己创建一个商业网站。无论如何,这是我的对象:用户:
$(form).find('input').each(function(index, elem){
if($(elem).val().length == 0){
//this field is empty
}
});
这是我的代码:
[{
"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"
}]
我需要从本地存储中访问ID,但我不知道如何。请帮帮我。
答案 0 :(得分:1)
由于您要存储/加载数组,因此需要循环所有元素并分别访问每个元素的属性,例如:
$.each(users, function(i, user)
{
console.log(user.id);
});
如果您需要特定元素,可以通过索引访问它们,也可以使用filter函数通过属性值获取它们。
var foundUsers = users.filter(function(user) {
return user.id === "john_doe@yahoo.com";
});
filter函数返回一个数组。
答案 1 :(得分:1)
您的对象object: users:
是一个数组,此数组的每个元素都是user object
,因此,如果您想要在特定索引处提取id
,则可以执行id = users[index].id
之类的操作。 1}}
你也可以在你的对象中循环获取所有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');
答案 2 :(得分:1)
首先需要使用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);
});