javascript - Javascript:代码重构为单行而不是多行 for 循环
问题描述
我是 react 和 javascript 的新手,试图将下面的代码重构为更少的行:
for (const email of processedData) {
if (validateEmail(email)) {
count++;
if (count === 100) {
break;
}
}
}
processesData 是电子邮件列表,尝试使用 reduce 但在 reduce 中,一旦我有 count === 100,我就无法中断
谢谢
解决方案
Array.prototype.some将在您的数组元素上运行一个函数,直到该函数返回 true。
然后你可以做这样的事情:
编辑:我的第一个建议的单行版本。
var processedData = ["joe@test.co.uk", "john@test.co.uk", "jack@test.com", "jane@test.com", "amy@test.com"];
var count = 0;
processedData.some(email => validateEmail(email) && (++count === 2));
function validateEmail(email) {
console.log("validateEmail " + email);
return (email.indexOf(".com") > -1);
}
推荐阅读
- php - 使用 PHPUnit 7 测试旧的 PHP 版本
- c++ - ZMQ 套接字连接超时
- html - 如何解决并排放置 div 的移动问题?
- python - 使用 numpy 声明新的数学函数
- asp.net - OnClick 方法在第一次单击时未触发
- python - 设置 pythonpath 的 Bash 脚本
- flask - 如何将 Keycloak 与 Flask REST API 服务一起使用
- java - 获取 javax.xml.soap.SOAPException:通过 Java 调用 Web 服务时在 Oracle WebLogic 服务器上未指定 Content-Type 错误
- python - 如何预测弹丸运动?
- c - C99:fscanf() 比 fgetc() 更早设置 eof 是标准的吗?