Typescript 检测阵列中的重复电子邮件地址
因此,我有以下问题,我不知道如何解决它。我必须用一个html输入表单在typescript中编写一个usermanager,这非常有效,但唯一不起作用的是电子邮件检查,以检测某个电子邮件地址是否已被某人使用,并且用户必须使用另一个电子邮件地址进行注册。 类用户(名称、电子邮件、密码)保存在数组userlist中。我已经试着用for循环检查数组,但这行不通Typescript 检测阵列中的重复电子邮件地址,typescript,Typescript,因此,我有以下问题,我不知道如何解决它。我必须用一个html输入表单在typescript中编写一个usermanager,这非常有效,但唯一不起作用的是电子邮件检查,以检测某个电子邮件地址是否已被某人使用,并且用户必须使用另一个电子邮件地址进行注册。 类用户(名称、电子邮件、密码)保存在数组userlist中。我已经试着用for循环检查数组,但这行不通 form.addEventListener("submit", (event: Event) => {
form.addEventListener("submit", (event: Event) => {
event.preventDefault();
vorname = (document.getElementById("fname") as HTMLInputElement).value;
nachname = (document.getElementById("lname") as HTMLInputElement).value;
email = (document.getElementById("email") as HTMLInputElement).value;
passwort = (document.getElementById("passwort") as HTMLInputElement).value;
let passwortcheck: string = (document.getElementById("passwortcheck") as HTMLInputElement).value;
let user: User = new User();
user.vorname = vorname;
user.nachname = nachname;
user.email = email;
user.passwort = passwort;
passwortalt = user.passwort;
for (let i: number = 0; i <= userlist.length; i++) {
if (user.passwort === passwortcheck && user.email != userlist[i].email) {
userlist.push(user);
form.reset();
renderUserlist();
} else {
alert("Passwörter stimmen nicht überein");
}
}
});
form.addEventListener(“提交”,事件:事件)=>{
event.preventDefault();
vorname=(document.getElementById(“fname”)作为HTMLInputElement);
nachname=(document.getElementById(“lname”)作为HTMLInputElement);
email=(document.getElementById(“email”)作为HTMLInputElement)。值;
passwort=(document.getElementById(“passwort”)作为HTMLInputElement);
让passwortcheck:string=(document.getElementById(“passwortcheck”)作为HTMLInputElement.value;
let user:user=new user();
user.vorname=vorname;
user.nachname=nachname;
user.email=电子邮件;
user.passwort=passwort;
passwortalt=user.passwort;
例如(假设i:number=0;i所以我自己解决了这个问题…:)
for(设i:number=0;i
您可以使用JavaScript数组的some
方法来简化此过程
const emailAlreadyTaken: boolean = userlist.some((value: User) => value.email === user.email);
在本文的第一部分,如果是“重复密码”检查。这很有效,但一旦我添加用于检查电子邮件的for循环,它就会停止工作尝试使用user.email!==userlist[I]。email而不是&&user.email!=userlist[I].Email不起作用…您有任何错误吗?请共享一个codesandbox链接好吗?希望我做对了谢谢,这也起作用:)
const emailAlreadyTaken: boolean = userlist.some((value: User) => value.email === user.email);