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

标签 javascript arrays regex 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);
            }
        }
    });

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/

相关文章:

javascript - 创建一堆空对象的更好方法

javascript - 如何将 Controller 链接到 AngularJS 中的指令?

arrays - 如何为 N 列做与 array_to_json(array_agg(tags.*)) 完全相同的事情

java - 在另一个字符串中查找具有模式 ALXXXXX 的字符串的正则表达式是什么?

regex - Swift中字符串中子字符串的出现次数

javascript - react / react Hook : child component is not re-rendering after the state is changed?

javascript - 尝试在rails中添加button_tag会导致意外的tIDENTIFIER语法错误

javascript - 使用纯 JavaScript 基于搜索文本匹配的数组排序

c - 使用 C 中的数组修复输出中的小错误

c++ - 正则表达式慢