我想使用过滤器返回特定字段的空字符串的所有值。
即代码:
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'也是解决问题的方法。
答案 0 :(得分:0)
underscore
或lodash
可能会更适合您:
groupedBy = _.groupBy($scope.addresses, 'country');
正确考虑空字符串,您不需要第二个过滤器。另一种选择是自己实现一种“groupBy”角度滤波器。