【发布时间】:2022-07-27 20:54:14
【问题描述】:
我在 javascript 中使用地图并使用逻辑,如果字段数大于地图大小,则重复任何邮件地址。当地图采用空值和未定义值时,问题就出现了,从而给出了错误的输出。假设我将第一个和第二个字段保留为空,那么未定义的是地图,显示多封电子邮件的错误消息。
useEffect(() => {
let count = 0;
const uniqueEmails = new Set(emailsAndRoles.map((emailsAndRole) => emailsAndRole.email));
console.log('uniqueEmails', uniqueEmails);
let alreadyExist = false;
for (let i = 0; i < emailsAndRoles.length; i++) {
const email = emailsAndRoles[i].email;
if (allUsersEmail.includes(email)) {
alreadyExist = true;
break;
}
}
if (uniqueEmails.size < emailsAndRoles.length || alreadyExist) {
setDuplicateEmailMessage('You have entered duplicate email');
console.log(uniqueEmails.size, emailsAndRoles.length);
} else {
setDuplicateEmailMessage('');
console.log(uniqueEmails.size, emailsAndRoles.length);
}
// eslint-disable-next-line
}, [emailsAndRoles]);
【问题讨论】:
标签: javascript reactjs arrays react-hooks hook