Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript typeerror无法读取属性';拆分';未定义的_Javascript - Fatal编程技术网

Javascript typeerror无法读取属性';拆分';未定义的

Javascript typeerror无法读取属性';拆分';未定义的,javascript,Javascript,我总是在这个非常基本的代码中遇到这个错误 // utils/validateEmails.js const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; export default (emails)

我总是在这个非常基本的代码中遇到这个错误

// utils/validateEmails.js
const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

export default (emails) => {
    const invalidEmails = emails.split(',')
        .map(email => email.trim())
        .filter(email => re.test(email) === false);

    if(invalidEmails.length) {
        return `These emails are invalid: ${invalidEmails}`;
    }

    return;
};

您必须为变量
emails
指定一个值

emails = 'e@a.com,c@r.com,e@e.com';

拆分是对象
字符串的属性。。如果对象未定义,则对象属性不可用。

电子邮件的值是多少?@AnkitAgarwal我甚至无法测试它。Create react应用程序不断向我抛出错误,我甚至无法尝试它。电子邮件实际上是未定义的,因为您从未实例化此变量。从“../../utils/validateEmails”导入validateEmails;errors.emails=validateEmails(values.emails);我确实在另一个页面中调用了它,我认为它应该工作得很好。这是因为您要拆分的变量没有定义,也没有任何值op已经定义了变量
电子邮件
;这是导出函数的单个参数。是,但他没有为其赋值。'如果正在评估的变量没有赋值,“OP说他们是通过
validateEmails(values.emails)
调用它的,但他们忽略了
来自何处,或者
值.emails
是否已定义(大概没有定义)。他们的问题肯定不是没有定义
电子邮件
变量,尽管他们的问题肯定不是没有定义电子邮件变量,尽管“我看不出你是如何得出这个结论的。你的评论指出
电子邮件
是定义的。”。。我在最初的答案中遗漏了这一点,因此我对其进行了相应的编辑。。但是,如果
电子邮件
未指定值,则会导致相同的错误。。非常感谢。
emails = 'e@a.com,c@r.com,e@e.com';