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';