Привет всем, я новичок в форуме, я пытаюсь изучить Javascript. Я должен выполнить это простое упражнение с циклом for, на практике учитывая массив, содержащий адреса электронной почты, для переменной, введенной пользователем через приглашение. Я должен убедиться, что вставленное электронное письмо содержится в массиве, а затем выводит на видео относительное утвердительное сообщение, я сделал что-то подобное, но это не работает, и я не понимаю, в чем я не прав....
// initialize an array with a mailing list
var mail = ['mail1', 'mail2', 'mail3'];
var mail_user = prompt ('Enter your mail');
for (var i = 0; i <mail.lenght; i ++) {
if (mail_user == email) {
document.whiteln ('Your email address is correct')
}
}
С циклом for можно сделать так:
const mails = ['mail1','mail2','mail3'];
const input = prompt('insert your email');
for (const mail of mails) {
if (mail == input) {
//Mail yes
return;
}
}
//Mail no
Или вы можете сделать также с:
const mails = ['mail1','mail2','mail3'];
const input = prompt('Insert your mail');
if (mails.indexOf(input) > -1) {
//Mail yes.
} else {
//Mail no.
}
Вы используете цикл, но на самом деле вы не перебираете массив. Если вы хотите сравнить входящий адрес электронной почты, вы должны извлечь конкретные из массива, что делается путем вызова mail[i]
var mail = ['mail1', 'mail2', 'mail3'];
var mail_user = prompt ('Enter your mail');
for (var i = 0; i <mail.length; i ++) {
if (mail_user == mail[i]) {
console.log('Your email address is correct')
}
}
// initialize an array with a mailing list
var mail = ['mail1', 'mail2', 'mail3'];
var mail_user = prompt ('Enter your mail');
for (var i = 0; i <mail.length; i ++) {
if (mail_user == mail[i]) {
document.whiteln ('Your email address is correct')
}
}
Я обновил ваше выражение if
Или вы можете использовать foreach
mail.forEach(function(email) {
if (mail_user == email) {
document.whiteln ('Your email address is correct')
}
}