如何检查字符串是否与node.js中的任何一个正则表达式匹配?

Ita*_*iss 7 javascript regex arrays node.js lodash

我试图有效地检查一个字符串是否与任何一个正则表达式匹配,并在第一个遇到的匹配中返回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);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

兴趣是一系列正则表达式.

有什么建议?

提前致谢

小智 4

您可以使用_.some,当传递的函数返回真值时,迭代将停止并返回 true 。如果找不到真值,则在迭代整个数组后将返回 false。

例子:

_.forEach(self._connectedClients, function(client) {
    if (client.authenticated) {
        if (_.some(client.interests, _.method('test', evt.event_type))) {
            self._sendJSON(client.socket, data);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)