【问题标题】:How to check if an email address is written more than once or not如何检查电子邮件地址是否被多次写入
【发布时间】: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


    【解决方案1】:

    所以删除空条目。你可以用过滤器做到这一点

    emailsAndRoles.map(({ email }) => email).filter(Boolean)
    

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 2012-09-09
      • 2016-04-06
      • 1970-01-01
      • 2015-07-02
      • 2011-08-30
      • 2016-02-21
      • 2011-06-08
      • 2011-08-17
      相关资源
      最近更新 更多