你好,这是我第一次使用JavaScript。 我想问点事。 为什么我不能将值加到对象数组中? 我想添加一些验证。 这是我的密码。
let user = [];
function register(username, password) {
this.id = user.length + 1;
this.username = username;
this.password = password;
}
function addUser(username, password) {
for(var i=0; i< user.length; i++){
if(user[i].username != username){
user.push(new register(username, password))
}
}
}
如果您想验证用户名是否未被使用,我将执行如下操作:
function addUser(username, password) {
var used = false;
for(var i=0; i< user.length; i++){
if(user[i].username === username){
used = true;
}
}
if (!used) {user.push(new register(username, password));}
}
由于@Taplar的主要作用,您可以使用array.find
方法和callback
来获取用户。 如果不是,使用添加/推送添加用户。
let users = [];
function register(username, password) {
this.id = users.length + 1;
this.username = username;
this.password = password;
}
function addUser(username, password) {
const user = users.find(user => user.username != username)
if(!user) users.push(new register(username, password))
}