我正在尝试有效地检查一个字符串是否与正则表达式数组中的任何一个匹配,并在遇到的第一个匹配项中返回 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);
}
}
});
Interest 是一个正则表达式数组。
有什么建议吗?
提前致谢
最佳答案
你可以使用 _.some
,当传递的函数返回真值时,迭代将停止并返回真值。如果在遍历整个数组后找不到真值,它将返回 false。
例子:
_.forEach(self._connectedClients, function(client) {
if (client.authenticated) {
if (_.some(client.interests, _.method('test', evt.event_type))) {
self._sendJSON(client.socket, data);
}
}
});
关于javascript - 如何检查一个字符串是否与 node.js 中的任何正则表达式数组匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636384/