我有以下格式的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过滤器有什么办法做到这一点?
柱塞在这里:https://plnkr.co/edit/OmKHwF1fx1tUVVXYtogp?p=preview
最佳答案
这里不需要角度,多数民众赞成不是一个数组的一个对象,使另一个对象做到这一点:
JsBin example
干得好:
var obj = {};
for (var prop in m) {
if (prop.indexOf('2290') > -1) {
obj[prop] = m[prop];
}
}