angular-js过滤器找到一个空字符串

时间:2013-09-10 10:11:44

标签: javascript angularjs filtering

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

即代码:

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/中可以看到的那样,它会按预期创建指定国家/地区的组,但我希望最后一组只包含指定了 no 国家/地区的地址(而不是像目前一​​样,存在一组所有地址)。

这是否可以使用angularjs?

**

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

1 个答案:

答案 0 :(得分:0)

underscorelodash可能会更适合您:

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

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