Javascript array.prototype.every在函数内部不起作用
Javascript array.prototype.every not working inside function?
全部,
请参阅以下代码笔
http://codepen.io/anon/pen/eJNMwJ
我正试图将一组字符串传递到名为Validate email的函数中,该函数反复检查电子邮件,看看它们是否与正则表达式匹配。
然而,由于某些原因,此功能似乎不起作用。
正则表达式是正确的
var validEmail = /^(['w-]+(?:'.['w-]+)*)@((?:['w-]+'.)*'w['w-]{0,66})'.([a-z]{2,6}(?:'.[a-z]{2})?)$/i;
function validEmailList(emails) {
console.log("running test 2");
return emails.every(function (email) {
validEmail.test(email.trim());
});
};
emails = ['bob@bob.com', 'foobar@bob.com'];
$('.test1').append(validEmail.test("foobar@foo.com"));
$('.test2').append(validEmailList(emails));
函数似乎没有返回任何内容,我希望得到一个布尔值。
传递给every
的函数也必须有return
之类的东西。
function validEmailList(emails) {
console.log("running test 2");
return emails.every(function (email) {
return validEmail.test(email.trim());
});
};
尽管如果使用箭头语法,return
是隐含的:
function validEmailList(emails) {
return emails.every( email => validEmail.test(email.trim()) );
}
Array.prototype.every
调用的回调需要返回一个布尔值:
return emails.every(function (email) {
return validEmail.test(email.trim());
//^^^^^^^
});
相关文章:
- 调用函数内部的函数
- javascript函数内部的代码用逗号而不是分号分隔
- javascript无法重新定义函数内部的全局对象
- 如何从函数内部的这个变量中获取值
- appendChild在函数外部工作,但在函数内部不工作
- 在jquery函数内部设置来自jquery函数的var;t运行
- 一个'var'在函数内部声明
- 为什么(如何)'这'从函数内部调用回调时发生更改
- 函数内部未定义的输入值
- 在Meteor中如何将数据从函数内部复制到其他模板
- 如果在构造函数内部为else,则Javascript是可选的
- 我对“;返回true"嵌套函数内部;t工作
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- javascript,将参数传递给函数内部的闭包中的回调
- 匿名自执行js函数内部的全局变量在外部仍然可用
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 访问函数内部的Polymer方法
- 更改函数内部的全局变量而不调用它
- 如何在函数内部为jquery工具提示调用不同的var字符串
- 构造函数内部的事件处理