如何修复 Javascript 中的“Array.push 不是函数”错误
2019-04-11
313
我正在尝试使用 localstorage 为一个小项目创建一个小型数据库(只是为了模拟登录)。
它应该打开两个提示来询问用户名和密码,然后将其存储在对象数组中。发生的事情是,我用管理员的对象启动数组的第一个元素,当插入第二个用户后(它允许我在管理员之后再添加一个)它说 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);
当我一遍又一遍地加载页面时,它应该将用户和密码作为对象存储在数组中。
提前感谢任何愿意提供帮助的人
1个回答
localStorage
存储键/值对,但值存储为字符串,而不是其他数据结构。
localStorage.setItem('Users', JSON.stringify(Users));
然后当您获得它时:
Users = JSON.parse(localStorage.getItem('Users'));
您遇到错误,因为当您从
localStorage
获取它时它不是一个数组。
Teh SoTo
2019-04-11