Angular-js 过滤器以查找空字符串

angular-js filter to find an empty string

本文关键字:字符串 查找 过滤器 Angular-js      更新时间:2023-09-26

我想使用过滤器返回特定字段具有空字符串的所有值。

也就是说,在代码中:

var groups = $filter('unique')(addresses, 'country');
var groupedByCountry = [];
angular.forEach(groups, function (value, key) {
   var selectedGroup = value['country'];
   var grouped = $filter('filter')(addresses, { country: selectedGroup });
   this.push(grouped);
}, groupedByCountry);

正如 http://jsfiddle.net/b7cjM/所示,它在指定国家/地区的地方按预期创建组,但我希望最后一个组仅包含指定国家/地区的地址(而不是像目前那样,一组现有的所有地址)。

使用angularjs可以吗?

**

正如 pund 所建议的那样,我写了一个"groupBy"过滤器['唯一'过滤器的天真转换:http://jsfiddle.net/b7cjM/1],这是一个比我尝试的解决方案更简单的解决方案。我怀疑这种类型的自定义"filterByEmpty"也是所提出的问题的解决方案。

underscorelodash可能更适合您:

groupedBy = _.groupBy($scope.addresses, 'country');

空字符串已正确考虑在内,您不需要第二个筛选器。 另一种选择是自己实现一种"groupBy"角度滤波器。