我试图有效地检查一个字符串是否与任何一个正则表达式匹配,并在第一个遇到的匹配中返回true(在正则表达式上打破迭代)
我目前的代码:
_.forEach(self._connectedClients,function(client) { if (client.authenticated) { var interested = _.forEach(client.interests,function(interest) { if (evt.event_type.search(interest) != -1) { return true; } }); if (interested) { self._sendJSON(client.socket,data); } } });
兴趣是一系列正则表达式.
有什么建议?
提前致谢
@H_404_12@解决方法
您可以使用
_.some
,当传递的函数返回一个truthy值时,迭代将停止并返回true.如果它找不到真值,那么在遍历整个数组之后它将返回false.
例:
_.forEach(self._connectedClients,function(client) { if (client.authenticated) { if (_.some(client.interests,_.method('test',evt.event_type))) { self._sendJSON(client.socket,data); } } });@H_404_12@ @H_404_12@ 原文链接:https://www.f2er.com/js/157059.html