Javascript 如何使用正则表达式进行角度过滤

Javascript 如何使用正则表达式进行角度过滤,javascript,regex,angularjs,Javascript,Regex,Angularjs,使用正则表达式过滤角度数据,但未得到任何输出我正在按以下方式过滤数据:“尝试进行精确匹配”” $scope.data具有以下特性 $scope.data = [{'id':1,'Name':'abc','path':'/'}, {'id':2,'Name':'def','path':'/'}, {'id':3,'Name':'xyz','path':'/abc/'}] 预期数据后过滤器 [{'id':1,'Name':'abc','pat

使用正则表达式过滤角度数据,但未得到任何输出我正在按以下方式过滤数据:“尝试进行精确匹配”

$scope.data具有以下特性

$scope.data = [{'id':1,'Name':'abc','path':'/'},
              {'id':2,'Name':'def','path':'/'},
              {'id':3,'Name':'xyz','path':'/abc/'}]
预期数据后过滤器

[{'id':1,'Name':'abc','path':'/'},
{'id':2,'Name':'def','path':'/'}]

不支持这样的正则表达式,因为框架很难将其与实际字符串区分开来

如果您想要精确匹配,可以提供
true

$scope.filteredEntries = filterFilter($scope.data, {path: '/'}, true);
演示1: 另一个选项是使用函数过滤对象:

$scope.filteredEntries = filterFilter($scope.data, function(obj) {
    return /^\/$/.test(obj.path);
});
注意,正则表达式应该是
^\/$
,您需要转义
/
字符。然而,对于这个特定的任务,使用正则表达式是过分的,您可能应该使用第一个选项


演示2:感谢@dfsq的回答
$scope.filteredEntries = filterFilter($scope.data, function(obj) {
    return /^\/$/.test(obj.path);
});