我有以下格式的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];
  }
}

10-07 23:20