Angular-js 过滤器以查找空字符串
angular-js filter to find an empty string
我想使用过滤器返回特定字段具有空字符串的所有值。
也就是说,在代码中:
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"也是所提出的问题的解决方案。
underscore
或lodash
可能更适合您:
groupedBy = _.groupBy($scope.addresses, 'country');
空字符串已正确考虑在内,您不需要第二个筛选器。 另一种选择是自己实现一种"groupBy"角度滤波器。
相关文章:
- 在字符串中查找所有图像 src URL 并存储在数组中
- 用于查找子字符串的Regex
- 遍历DOM查找字符串有时会正确返回
- Javascript Regex,在字符串中查找数字
- 使用Regex查找URL中的特定字符串
- 在数组中查找某些字符串(Javascript)
- 查找并替换特定字符串
- 在从索引位置返回的字符串中查找空白
- 使用捕获组查找和替换json字符串中出现的所有短语
- 在Javascript中查找子字符串,并前置/附加一些字符
- 查找字符串及其索引中的最大数字
- 使用正则表达式查找字符串中的不匹配字符
- 如何更改字符串的查找方法
- 修复了如何在容器中查找和替换字符串的功能
- 通过包含的字符串查找对象
- 使用var和字符串查找文件夹
- 搜索字符串查找名称,并使用for循环记录每次出现的名称
- 二进制字符串查找
- 使用jquery和HTML字符串查找每个链接
- 按字符串查找对象索引