Javascript / AngularJS对象选择基于表达式作为键
Javascript / AngularJS object selection based on expression as key
我有一个javacript对象(基本上,来自webapi调用的数据),格式如下:
$scope.Muncipalties = {
"2290_BR1": "ABBOTTSTOWN",
"2290_BR2": "ARENDTSVILLE",
"2290_BR3": "BENDERSVILLE",
"2290_TS01": "BERWICK TWP",
"2290_BR4": "BIGLERVILLE",
"2290_BR5": "BONNEAUVILLE",
"2290_TS02": "BUTLER TWP",
"2290_BR6": "CARROLL VALLEY",
"2290_TS3": "CONEWAGO TWP",
"2291_TS4": "CUMBERLAND TWP",
"2291_BR7": "EAST BERLIN",
"2291_BR8": "FAIRFIELD",
"2291_TS5": "FRANKLIN TWP",
"2291_TS6": "FREEDOM TWP"};
现在,我需要从上面的对象创建另一个对象,但是,它应该按部分键值过滤。 即说键是 2290,那么只应该复制那些键为"2290_"的记录。如果键为 2291,则只应复制最后 5 条记录。
AngulaJS过滤器中有什么方法可以做到这一点吗?
Plunker在这里:https://plnkr.co/edit/OmKHwF1fx1tUVVXYtogp?p=preview
这里不需要角度,这不是一个数组,它是一个对象,要让另一个对象这样做:
JsBin 示例
给你:
var obj = {};
for (var prop in m) {
if (prop.indexOf('2290') > -1) {
obj[prop] = m[prop];
}
}
下面的代码怎么样?
.JS:
$scope.filterId = function(id, items) {
var result = {};
angular.forEach(items, function(value, key) {
if ( key.match(id) ) {
result[key] = value;
}
});
return result;
};
.HTML:
<div ng-repeat="(k,v) in filterId(2290, Muncipalties)">
{{v}}
</div>
相关文章:
- 我的AngularJS表达式没有'不起作用
- AngularJS:带有HTML和angular表达式的指令;编译”;具有外部范围的内容
- 组合angularjs表单字段的两个正则表达式
- AngularJS ngTranscluded、angular.noop和插值VS表达式
- 使用正则表达式angularjs验证文件路径
- 在输入中存储AngularJS表达式结果
- Javascript / AngularJS对象选择基于表达式作为键
- Angularjs 与 coffeescript 函数表达式中断
- AngularJS-在$event.stopPropagation之后停止ng-click表达式求值
- AngularJS观察指令属性表达式,动态继承作用域
- 为什么javascript替换方法(没有regex)在angularjs表达式中不起作用来删除 
- Angularjs表达式未显示在ngDialog模板中
- AngularJs针对多个条件评估表达式
- AngularJS ng显示表达式在加载时不起作用
- AngularJS表达式未求值
- 使用angularjs表达式复选框
- 如何从json中检索angularjs表达式的数据
- 如何根据一定的标准在angularjs中使用正则表达式添加密码验证
- 堆叠三元运算符在 Angularjs 表达式中不起作用
- 表达式angularjs中的组合属性