我正在尝试为一个小型项目创建一个具有本地存储的小型数据库(仅用于模拟登录名)。
应该打开两个提示询问用户名和密码,然后将其存储在对象数组中。发生的是,我使用管理员的对象来初始化数组的第一个元素,并且在插入第二个用户后(让我在管理员之后再添加一个)后,它说Users(Array).push不是函数
var name = prompt('Insert your name');
var password = prompt('Insert your password');
if(localStorage.length!==0){
Users=localStorage.getItem('Users');
}else {
var Users = [{
name:'admin',
password:'admin'
}];
}
var person = {
name:name,
password:password
}
Users.push(person);
localStorage.setItem('Users',Users);
当我一次又一次地加载页面时,它应该将用户和密码存储为数组中的对象。
在此先感谢您愿意提供帮助的人
答案 0 :(得分:2)
localStorage
存储键/值对,但值存储为字符串,而不是其他数据结构。
localStorage.setItem('Users', JSON.stringify(Users));
,然后在获得它时:
Users = JSON.parse(localStorage.getItem('Users'));
您遇到了错误,因为当您从localStorage
获取错误时,它不是数组。