使用正则表达式过滤角度数据,但没有得到任何输出我按照以下方式过滤数据:“尝试完全匹配”
$scope.filteredEntries = filterFilter($scope.data, {path:'^/$'})
$ scope.data有以下
$scope.data = [{'id':1,'Name':'abc','path':'/'},
{'id':2,'Name':'def','path':'/'},
{'id':3,'Name':'xyz','path':'/abc/'}]
afterfilter后的预期数据
[{'id':1,'Name':'abc','path':'/'},
{'id':2,'Name':'def','path':'/'}]
答案 0 :(得分:1)
这样的正则表达式不受支持,因为框架很难将它与实际的字符串'^/$'
区分开来。
如果您想要完全匹配,可以提供comparator parameter true
:
$scope.filteredEntries = filterFilter($scope.data, {path: '/'}, true);
另一个选择是使用函数来过滤对象:
$scope.filteredEntries = filterFilter($scope.data, function(obj) {
return /^\/$/.test(obj.path);
});
注意,正则表达式应为^\/$
,您需要转义/
个字符。但是对于使用正则表达式的特定任务来说是过度的,你可能应该选择第一个选项。